由于使用webcollector包,里面的输出实在太多了,自己想要观察的信息有点难找到,所以想使用java的Log日志特点,方便查看自己想要看到的信息。
记得以前看视频学android开发的时候,有这一点。好像是可以在下面的控制台,利用Log的等级和名称,进行过滤,这样就能看到特定的信息了。不过这个好像是eclipse的android开发特有的,普通的eclipse好像没有
平时用的日志好像有java自带的Logging,有apache的log4j,这里我用的是log4j。它们都可以在特定的配置文件中指定配置,包括格式,输出载体等。但是这个好像是全局的配置。
log4j的级别由以下几种,默认情况下只输出>=ERROR的。
trace: 是追踪,就是程序推进以下,你就可以写个trace输出,所以trace应该会特别多,不过没关系,我们可以设置最低日志级别不让他输出。
debug: 调试么,我一般就只用这个作为最低级别,trace压根不用。是在没办法就用eclipse或者idea的debug功能就好了么。
info: 输出一下你感兴趣的或者重要的信息,这个用的最多了。
warn: 有些信息不是错误信息,但是也要给程序员的一些提示,类似于eclipse中代码的验证不是有error 和warn(不算错误但是也请注意,比如以下depressed的方法)。
error: 错误信息。用的也比较多。
fatal: 级别比较高了。重大错误,这种级别你可以直接停止程序了,是不应该出现的错误么!不用那么紧张,其实就是一个程度的问题。
自己实现了一个类,用文件名初始化,然后把指定的消息放入文件里面。
1 | import org.apache.log4j.ConsoleAppender; |
输出的结果如下:
1 | hell |
关于Layout,用SimpleLayout的话,打印到文件里的是INFO -
加消息,比如INFO - This is a message
。而PatternLayout则可以指定格式,它的用法如下:
符号 | 意义 | 例子 |
---|---|---|
%% | 显示一个百分号 | |
%t | 输出产生该日志事件的线程名 | |
%r | 显示从程序启动时到记录该条日志时已经经过的毫秒数 | |
%p | 显示该条日志的优先级 | |
%n | 当前平台下的换行符 | |
%M | 显示调用logger的方法名 | |
%m | 显示输出消息 | |
%L | 显示调用logger的代码行 | |
%l | 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数 | |
%F | 显示调用logger的源文件名 | |
%d | 显示日志记录时间,{<日期格式>}使用ISO8601定义的日期格式 | %d{yyyy/MM/dd HH:mm:ss,SSS} |
%C | 列出调用logger的类的全名(包含包路径) |
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!