Log4j输出日志到单独日志文件

 

Log4j输出日志到单独日志文件

### set log levels ###
log4j.rootLogger = INFO , C , D , E
 
### console ###
log4j.appender.C = org.apache.log4j.ConsoleAppender
log4j.appender.C.Target = System.out
log4j.appender.C.layout = org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern = [%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n
 
### log file ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File =../logs/IvaDubboWeb-info.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = [%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n
 
### exception ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ../logs/IvaDubboWeb-error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = [%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n
 
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
 
# 输出liveness日志
log4j.logger.liveness = INFO, liveness
# 是否在父log中输出日志
log4j.additivity.liveness = false
# 每天生产日志文件
log4j.appender.liveness = org.apache.log4j.DailyRollingFileAppender
# 生成日志到单独的文件
log4j.appender.liveness.File =../logs/liveness.log
# 追加日志
log4j.appender.liveness.Append = true
# 日志级别
log4j.appender.liveness.Threshold = INFO
log4j.appender.liveness.layout = org.apache.log4j.PatternLayout
# 日志格式
测试类
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
/**
 * Created by Administrator on 2018\1\30 0030.
 */
public class LogTest {
 
    private static final Logger log = LoggerFactory.getLogger(LogTest.class);
    private static final Logger log2 = LoggerFactory.getLogger("liveness");
 
    @Test
    public void testLog() {
   // 测试打印普通日志
        log.info("test info");
    }
 
    @Test
    public void testLog2() {
   // 测试打印liveness模块日志到指定日志文件
        log2.info("test liveness");
    }
}
执行结果如下,liveness相关的日志不会打印到统一的log中:

在本地测试时刚开始无法打印日志到log文件,是因为配置文件中的File路径需要设置为全路径,如D:/projects/logs/liveness.log

 

猜你喜欢

转载自www.cnblogs.com/xiaolei2017/p/9297761.html