- 浏览: 534834 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
知足常乐
Log工具类:
Activity中调用:
即的权限的添加,ok !
Log工具类:
package com.zzl.test; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import android.util.Log; /** * Created by zzl * Date: 2012-03-03 * 记录log日志文件的工具类 */ public class LogTool { private static LogTool instance; private PrintWriter logPrint; private String logFile = ""; private String taskNo = "";//任务号 private String rootDir = "/sdcard/SGWS/log";//日记文件为sdcard/SGWS/任务号/日志文件 /** * 配置没有头的log */ private LogTool(){ checkDate();//检查日期如果改变新建log文件 } public static LogTool getInstance() { if (instance == null) { instance = new LogTool(); } return instance; } /** * 配置log文件名的头 */ public LogTool(String logName){ checkDate(); } /** * 将java.util.Date格式转换为字符串格式”yyyy-MM-dd HH:mm:ss“ * 如Sat May 11 17:24:21 CST 2002 to '20002-05011 17:24:21' * @param time Date日期 * @return字符串 */ public String dateToString(Date time){ SimpleDateFormat formatter; formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String ctime = formatter.format(time); return ctime; } /** * 得到log文件名 */ private String getLogFile(){ String date = ""; Calendar cd = Calendar.getInstance(); int y = cd.get(Calendar.YEAR); int m = cd.get(Calendar.MONTH) + 1; int d = cd.get(Calendar.DAY_OF_MONTH); /* if(null==taskNo || "".equals(taskNo)){ date = rootDir+"log/" + logName + y + "-"; }else{ date = rootDir+taskNo+"/log/" + logName + y + "-"; }*/ date = rootDir+"/"+ y + "-"; if(m < 10) date += 0; date += m + "-"; if(d < 10) date += 0; date += d + ".log"; return date; } /** * 配置log属性,如果没有新建log文件 */ private void newLog(){ logFile = getLogFile();//创建log文件名 try{ File filePath = new File(rootDir); if(!filePath.exists()){ filePath.mkdirs(); } File file = new File(logFile); if(!file.exists()){ file.createNewFile(); } //(new File(logFile)).mkdir(); logPrint = new PrintWriter(new FileWriter(logFile, true), true); }catch(IOException e){ File filePath = new File(rootDir); if(!filePath.exists()){ filePath.mkdirs(); } File file = new File(logFile); if(!file.exists()){ try { file.createNewFile(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } try{ logPrint = new PrintWriter(new FileWriter(logFile, true), true); }catch(IOException ex){ System.err.println("无法打开日志文件:" + logFile); logPrint = new PrintWriter(System.err); } } } /** * 检查日期如果改变新建log文件 */ private void checkDate(){ Log.e("LogTool.checkDate()文件名:", logFile); if(logFile == null || logFile.trim().equals("") || !logFile.equals(getLogFile())){ newLog(); } } /** * 将文本信息写入日志文件,缺省为userdir/log */ public void log(String msg) { //this.taskNo = taskNo; checkDate(); logPrint.println(dateToString(new Date()) + "\t" + msg+"\r\n"); logPrint.close(); } /** * 将文本信息与异常写入日志文件 */ public void log(Throwable e, String msg) { //this.taskNo = taskNo; checkDate(); logPrint.println(dateToString(new Date()) + "\t" + msg+"\r\n"); e.printStackTrace(logPrint); logPrint.close(); } }
Activity中调用:
package com.zzl.test; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { LogTool.getInstance().log("MainActivity.onCreate.btn.OnClickListener"); } }); } }
即的权限的添加,ok !
发表评论
-
Android中如何模拟一次点击(touch)事件
2014-05-06 10:41 0在Android中有时需要模拟某一个View的touch事件, ... -
Android程序Crash时的异常上报
2014-04-28 18:15 0http://blog.csdn.net/singwhatiw ... -
android程序中证书签名校验的方法
2014-04-28 17:58 2008android程序中证书签名校验的方法一 2013-02 ... -
MD5理解错了,哎
2014-03-17 14:14 0MD5只对数据加密是无法解密的,也就是说,你把100加密后,就 ... -
Android 获取网络时间
2014-03-12 11:42 2046Android 获取网络时间 在网上看到的最常见的方式有: ... -
SQLite清空表并将自增列归零
2014-03-05 18:02 1553SQLite清空表并将自增列归零 作者:Zhu Yanfeng ... -
Handler小看一下
2013-11-11 16:42 0android handler调用post方法还是阻塞 su ... -
Frame Animation小看一下
2013-10-12 16:30 795Demo运行效果图: 源码: -
动画小学一下
2013-10-12 16:14 739转自: http://www.eoeandroid.com/f ... -
Android 动画之ScaleAnimation应用详解
2013-10-12 15:49 1016===============eoeAndroid社区推荐:= ... -
android开发中的一个工具类
2013-06-19 16:04 0package com.wanpu.login.dialog; ... -
android TextView怎么设置个别字体颜色并换行?
2013-06-20 09:25 1695(1)、TextView 设置个别字体颜色 TextView ... -
Android开发之文件下载,状态时显示下载进度,点击自动安装
2013-05-07 15:38 1433在进行软件升级时,需要进行文件下载,在这里实现自定义的文件下载 ... -
android中的状态保存
2013-04-07 14:21 982package com.zzl.call; import ... -
android动画基础:tween动画
2013-04-06 11:21 1254工程结构图: [img] [/img] 四个动画的xml ... -
面试中遇到的几个问题
2013-06-09 11:56 1009SAX与DOM之间的区别 SAX ( ... -
Android获取其他包的Context实例,然后调用它的方法,反射!!!
2013-03-25 10:32 1227Android中有Context的概念,想必大家都知道。Con ... -
Android的内存机制和常见泄漏情形
2013-03-06 16:55 798一、 Android的内存机制 Android的程序由Ja ... -
JUnit测试小小demo
2013-03-06 16:37 1172运行效果图: [img] [/img] 项目结构图 ... -
android开发中的异常小工具
2013-03-04 15:53 902package com.zzl.tools; impor ...
相关推荐
Qt Log库是Qt框架中用于记录日志的部分,它提供了灵活、高效的日志记录功能,支持自定义日志级别,方便输出到不同的目标,如控制台、文件或网络。 在Qt中,我们可以利用QLoggingCategory和Q_LOGGING_CATEGORY宏来...
5. **测试与监控**:在开发和生产环境中,应分别配置不同的日志级别,便于调试和监控。 通过以上步骤和实践,你可以充分利用log4net的强大功能,为你的.NET应用构建稳定、高效的日志管理体系。
在本文中,我们将深入探讨如何使用C#编程语言来创建一个挂机程序,这是一个常见的应用场景,特别是在自动化测试、持续集成或者其他需要长时间运行的任务中。挂机程序通常是指那些能够自动执行预定任务,同时允许用户...
- **logfile**:指定日志文件的名称,也可以设置为 `stdout`,表示将日志输出到标准输出。 - **databases**:设置数据库的数量,默认为 16 个数据库,可以通过 `SELECT <dbid>` 命令选择不同的数据库,其中 `<dbid>`...
安装上述软件的版本信息在文档中有详细说明,例如使用的是MySQL-5.7.24,JDK-1.8.X等。 在安装Maven时,需要下载对应的安装包,解压至指定目录,并配置好环境变量。环境变量的配置是确保系统能够识别到Maven命令的...
- **日志和监控**:集成日志系统(如Log4j)和监控工具(如Ganglia、Prometheus),以便实时查看和分析系统状态。 通过这个压缩包,你将能了解并实践如何搭建Storm集群,以及如何使用Java客户端编写和测试实时数据...
8. **日志记录**:使用Logback或Log4j进行日志记录,便于故障排查和性能分析。 9. **异常处理**:全局异常捕获和处理,提供友好的错误提示信息。 10. **测试与部署**:单元测试、集成测试确保代码质量,Docker容器...
发展PostgreSQL从安装PostgreSQL.env 创建一个.env文件并向其中添加环境变量NODE_ENV环境运行模式PORT服务器端口DATABASE_SCHEMA数据库架构名称DATABASE_URL数据库URL DISABLE_QUERY_LOG设置为true以禁用查询日志...
9. **内存管理**:Oracle的内存结构对性能至关重要,包括SGA中的数据缓冲区高速缓存、redo log buffer、共享池和Java池等,DBA需要了解如何根据系统负载调整内存配置。 10. **数据库性能监控**:通过监控工具如...
进行调试时,可以利用日志框架(如Log4j)记录系统运行信息,帮助定位问题。常见问题可能包括配置错误、依赖冲突、SQL执行异常等。对于SQL相关问题,可以开启Hibernate的show_sql属性,查看实际执行的SQL语句。此外...
【QA_Lesson4】是关于Java编程的一次学习课程,主要涵盖了在软件开发过程中质量保证(Quality Assurance,简称QA)的第四课内容。这节课可能深入讲解了如何使用Java进行有效的测试、调试以及代码质量管理。Java是一...
- 在开发过程中,添加日志记录可以帮助跟踪问题,例如使用`Console.WriteLine`或集成日志框架如log4net。 8. **扩展性与性能**: - 虽然这个简单的Web服务器适合学习和小规模应用,但若需处理大量并发请求,可能...
通常,这些库包括Spring核心、Spring MVC、MyBatis、数据库驱动、日志工具(如Log4j)、以及其他辅助类库,如Jackson或Gson用于JSON处理, Commons-logging或SLF4J用于日志抽象,以及AOP相关的库。 在实际开发中,...
在现代软件开发中,Git 已经成为必不可少的版本控制系统,尤其在 IntelliJ IDEA 这样的集成开发环境中,Git 的使用更是得心应手。本文将详细介绍如何在 IntelliJ IDEA 中使用 Git,帮助开发者更好地管理和协作代码。...
日志方面,Spring Boot默认使用Logback,也可以切换到Log4j2,通过配置文件调整日志级别和输出格式。 最后,部署和测试是项目的重要环节。Spring Boot支持内嵌式Tomcat服务器,可以使用`mvn spring-boot:run`命令...
10. **日志系统**:SpringBoot默认使用Logback或Log4j2作为日志系统,可以通过配置文件调整日志级别和输出方式。 11. **测试支持**:`spring-boot-starter-test`模块包含了JUnit、Mockito、Hamcrest等测试工具,...
9. **错误处理与日志记录**:为了调试和问题排查,项目会包含错误处理机制和日志记录功能,如使用log4j进行日志输出。 10. **版本控制**:在团队开发中,使用版本控制系统如Git进行协同工作,管理代码变更历史,...
6. **日志与监控**:为了追踪系统运行状态和异常,系统应集成日志记录(如Log4j或Logback)和性能监控工具(如Prometheus和Grafana),以便及时发现并解决问题。 7. **测试与部署**:单元测试、集成测试和压力测试...
9. **日志查看**:`git log`命令显示提交历史,帮助了解代码的演变过程。 10. **重置和回退**:`git reset`命令用于撤销提交或回到特定版本,但需谨慎使用,因为它可能覆盖未保存的工作。 通过这个"mygittest"项目...
同时,利用Logback或Log4j等日志框架,记录系统运行日志,便于问题排查。 8. **测试**: 对系统进行单元测试和集成测试,使用JUnit和Mockito等工具,确保各模块功能的正确性。 9. **部署与监控**: 系统部署可能...