spring+maven项目添加log4j和slf4j日志

1 Pom.xml添加依赖包

slf4j-log4j12这个包依赖了slf4jlog4j,所以使用slf4j+log4j的组合只要配置上面这一个依赖就够了

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.21</version>
</dependency>


2 在src/main/resources下创建conf文件夹


3 修改web.xml

webAppRootKey为自动获取项目路径

<context-param>  
<param-name >webAppRootKey</param-name > 
<param-value >webApp.root </param-value > 
</context-param >
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:/conf/log4j.properties</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

4 在WEB-INFO下新建logs文件夹

linux下如果文件夹不存在则不会自动创建,war包不会自动编译。所以在项目中创建好文件夹


5 在src/main/resources/conf下创建并配置配置文件文件log4j.properties

按照log优先级,记录error的日志避免日志过大。其中如果logger不指定debug或者info,则配置的日志不会自动记录



#logger
log4j.rootLogger=debug,errorLogFile
log4j.additivity.org.apache=false
# errorLog appender
log4j.appender.errorLogFile=org.apache.log4j.RollingFileAppender
log4j.appender.errorLogFile.MaxFileSize=4MB
log4j.appender.errorLogFile.Threshold=ERROR
log4j.appender.errorLogFile.ImmediateFlush=true
log4j.appender.errorLogFile.Append=true
log4j.appender.errorLogFile.File=${webApp.root}/WEB-INF/logs/errorLog.log
# errorLog layout
log4j.appender.errorLogFile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorLogFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %m%n

参考:

日志配置:

https://www.cnblogs.com/ywlaker/p/6124067.html

http://www.codeceo.com/article/log4j-usage.html

自动获取项目路径:

http://elf8848.iteye.com/blog/2008595

日志等级优先级:

http://blog.csdn.net/duruiqi_fx/article/details/52689130


猜你喜欢

转载自blog.csdn.net/henrymrz/article/details/79258057
今日推荐