下面用一个例子说明:
第一步:导入依赖jar包,并且Bulid path (jar包在官网自行下载)。
第二步:在src目录下新建.properties文件,命名为log4j.properties
配置如下:
在控制台输出的配置如下:
log4j.rootLogger=INFO,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender //配置输出到控制台
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L - %m%n //输出格式
在文件中输出的配置如下:
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.Append=true
log4j.appender.FILE.File=logs/log4jtest.log //文件路径 和src是同级目录
log4j.appender.FILE.Threshold=INFO
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n
log4j.appender.FILE.MaxFileSize=10MB
第三部:编写java测试类:
package com.defonds.log4j;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
public class HelloWorld {
public static void main(String[] args) {
Logger log = LogManager.getLogger(HelloWorld.class);//得到log4j对象
log.info("info通过 class 对象来获取 logger 对象");
log.debug("debug通过 class 对象来获取 logger 对象");
log.warn("warn通过 class 对象来获取 logger 对象"); //记录log4j日志
}
}
第四步:运行看看结果
控制台输出:
14:48:38,300 INFOHelloWorld:32 - info通过 class 对象来获取 logger 对象
14:48:38,300 WARNHelloWorld:34 - warn通过 class 对象来获取 logger 对象
上面的是默认的配置,更细节的可以在web.xml中配置:
context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/com/avicit/resource/log4j/log4j.properties</param-value> <!-- 加载log4j.properties文件-->
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>600000</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>fes.root</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
到此简单的学习已经结束,相信你已经入门了吧,更深入的我们需要一起在项目中探索。