标签:
Log4e是一个免费的Eclipse Plugin。其下载地址为:http://log4e.jayefem.de/index.php/Download
在Eclipse的安装目录下,找到对应的plugins和features文件夹,将解压后得到的两个文件plugins和features下对应的文件拷贝到相应的目录下。
重启Eclispse后,就可以使用Log4e插件了,如果看不到插件,把Eclipse安装目录下的configuration/org.eclipse.update/目录整个删除,重启Eclipse。
log4j:log for java
日志框架的作用:
1、程序运行中,传入的参数正不正确
2、软件的稳定期内,记录用户的每一步操作
3、控制目的地:打印到控制台、文件、db
4、日志级别:某一句输出设置一定的级别,如果控制大于等于这个级别,就输出
5、格式:在输出的主信息外,还可以添加附加信息
1、每一行都是键值对,key=value
2、#表示注释
3、properties文件本身不支持中文,eclipse装了properdit插件,所以支持中文
log4j由三个重要的组件构成:日志信息的输出格式,日志信息的优先级,日志信息的输出目的地。日志信息的优先级用来指定这条日志信息的重要程度:日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式控制了日志信息的显示内容。
5p%用五个空格补齐。tim.log是相对路径。
最常用的PatternLayout
%m输出代码中指定的消息
%p输出优先级,即DEBUG、INFO、WARN、ERROR、FATAL
%r输出自应用启动到输出该log信息耗费的毫秒数
%c输出所属的类目,通常就是所在类的全名
%t输出产生该日志事件的线程名
%n输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
%d输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy-MM-dd HH:mm:ss} %5p {%C:%M} - %m%n,输出类似:2016-01-06 00:05:54 DEBUG { com. chen. test. testLog4j : main } – 我是信息
几个重要原则:
范例1:如果对一个logger设置了级别是info,那么打印出来的是大于等于info的级别。
结果只打印出大于等于info级别的日志:
范例2:如果一条信息,设置了多个logger托管,level取最详细的,appernder各自输出,也就是说,最详细的说了算。
Log4j.logger.com.chen覆盖了log4j.logger.com的debug,两个logger打印出来的等级都必须是大于等于info。
Log4j.rootLogger = debug.timchen.File, timchen.Console
其中,rootLogger表示根logger,相应Classpath路径下所有的类。如:
Appender、Layout、Logger三者之间的关系:
在java中使用log4j中要注意的小问题:
看似奇怪的重复级别判断:我们在看一些成熟框架的源代码中,经常看到如下代码:
为什么不直接looger.debug(“debug:”+name)呢?因为在配置文件中虽然可以使用控制级别为比debug级别更高的级别,而不输出debug信息;但是这里的字符连接操作仍然会影响运行效率;如果先判断当前的logger的级别,如果级别不合适的话,连这句话都可以不做了。
Log4j.xml和log4j.properties同时存在时,以log4j.xml为准
Slf4j简介
简单日记门面(simple logging Fa?ade for java)SLF4J是为各种logging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的logging APIs实现。
准确的说,slf4j并不是一种具体的日志系统,而是一个用户日志系统的fa?ade,允许用户在部署最终应用时方便的变更其日志系统。
在系统开发中,统一按照slf4j的API进行开发,在部署时,选择不同的日志系统包,即可自动转换到不同的日志系统上。比如:选择JDK自带的日志系统,则需要将slf4j-api-1.5.10.jar和slf4j-jdk14-1.5.10.jar放置到classpath中即可,如果中途无法忍受JDK自带的日志系统了,想换成log4j的日志系统,仅需要用slf4j-log4j12-1.5.10.jar替换slf4j-jdk14-1.5.10.jar即可(当然也需要log4j的jar包及配置文件)。
我们的类不在直接与log4j的类或者logging类相接触,而是多了sl4j-api,和相应的日志系统的适配器的jar包,其流图如下:
在下载的sl4j的文件下找到,这两个jar包,并且添加到lib下:
当然,如果是用lo4j,则原有的log4j的jar包也要添加:
原有的通过Log4j的new logger的写法如下:
利用slf4j改写后,注意其中的两个引入包:
标签:
原文地址:http://blog.csdn.net/timchen525/article/details/51168849