1、Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。
slf4j是日志的接口(只定义了一些方法而没有去实现),和commons-logging一样。而log4j是具体的实现(即怎么来打印日志等),和logback是一样的。
Logger来自log4j自己的包。如果用Logger.getLogger,需要一个log4j的jar包,用此方式你只能依靠log4j:LogFactory来自common-logging包。
首先,在项目中的classes 中新建立一个log4j.properties文件即可; 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义。定义步骤就是对Logger、Appender及Layout的分别使用。
因为应用的classpath下有logback和log4j两种slf4j的绑定,启动的时候基本上是随机获取1个,如果获取的是logback 那就没问题;如果获取的是slf4j就导致输出有日志有问题。
必须要检查一遍,看一下生成的打包文件的lib文件夹下是否还存在slf4j-log4j1jar。如果有,应该是jar包没排除干净。可以通过maven命令查看依赖树,看看是那个依赖把这个jar给传递进来的。
java开发过程中会遇到各种问题,自学的话很难去解决这些问题,推荐去千锋教育学习java开发,有专业团队和老师为学生解决各种专业问题。
步骤:在Maven的porn.xml 文件中添加dependency如下。之后就会添加三个包。之后在项目下添加log4j.properties。在web.xml中加入代码。 使用方法。接下来就能输出了。输出如下。
log4j通过QuietWriter写日志,QuietWriter extends FilterWriter,FilterWriter extends Writer,而Writer写入的是字符流,对字符集比较敏感。
Log4j是Apache的一个开源项目,如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找source folder下的log4j.xml配置文件。若没有会寻找log4j.properties文件加载配置。
一共分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。
实际上Log4j2的配置可以通过以下四种方式中的一种来完成:本文主要介绍第1种,详解XML格式文件的编写配置。
使用步骤:第一步 加入log4j-jar(可以选择log4j的更高版本)到lib下。第二步 在CLASSPATH下建立log4j.properties。