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

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

 

一:导入相关依赖

                
			org.slf4j
			slf4j-api
			1.7.25
		


		
			log4j
			log4j
			1.2.17
		


		
			org.slf4j
			slf4j-log4j12
			1.7.25
		

 

slf4j-log4j12:用于log4j适配sjf4j

 

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

slf4j+log4j实现web项目日志输出_第1张图片

 

编辑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 {
	
	@Test
	public void testLog(){
		Logger log = LoggerFactory.getLogger(this.getClass());
		log.trace("这是rrace日志。。。");
		log.debug("这是debuug日志。。。");
		log.info("这是info日志。。。");
		log.warn("这是warn日志。。。");
		log.error("这是error日志。。。");
		
	}

}

 

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

 

slf4j+log4j实现web项目日志输出_第2张图片

 

文件日志打印:

 

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

 

 

你可能感兴趣的:(java杂记)