当前位置: 代码迷 >> 综合 >> slf4j+log4j实现web项目日志输出
  详细解决方案

slf4j+log4j实现web项目日志输出

热度:94   发布时间:2023-11-30 20:00:20.0

                          基于slf4j 和 log4j实现web项目的日志输出

 

一:导入相关依赖

                <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version></dependency>

 

slf4j-log4j12:用于log4j适配sjf4j

 

二:项目下创建log4j.properties(文件名称不可更改,log4j自动根据名称加载文件)

 

编辑log4j.properties

# DEBUG,INFO,WARN,ERROR,FATAL 日志等级  
LOG_LEVEL=INFO  log4j.rootLogger=${LOG_LEVEL},CONSOLE,FILE  
# 定义像控制台输出时候的相关属性
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
#设置编码 
log4j.appender.CONSOLE.Encoding=utf-8
#设置输出日志的格式
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd} %C{1}@(%F:%L):%m%n  # 定义向文件输出日志时候的相关属性
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender  
# 日志文件保存到项目的Spring.log文件中
log4j.appender.FILE.File=Spring.log
#日志文件保存到容器的logs目录下
#log4j.appender.FILE.File=${catalina.base}/logs/survey.log  
# 设置编码
log4j.appender.FILE.Encoding=utf-8
# 设置样式
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd  
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout  
log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{8}@(%F\:%L)\:%m%n   

 

三:测试

package wxApp;import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class TestController {@Testpublic void testLog(){Logger log = LoggerFactory.getLogger(this.getClass());log.trace("这是rrace日志。。。");log.debug("这是debuug日志。。。");log.info("这是info日志。。。");log.warn("这是warn日志。。。");log.error("这是error日志。。。");}}

 

控制台日志打印:因为日志级别是info,所以只有三个输出

 

 

文件日志打印:

 

tigs:如果输出的时候出现以下日志

log4j:WARN Error initializing output writer.
log4j:WARN Unsupported encoding?

说明log4j.appender.CONSOLE.Encoding=utf-8 这一句的中间或者结尾出现空格,去除即可

 

slf4j+logback实现日志打印:https://blog.csdn.net/qq_37936542/article/details/80839389