maven如何使用slf4j输出日志到文件

使用slf4j输出日志到文件

log4j.properties

### set log levels ###
log4j.rootLogger=debug, stdout, D, E
#ConsoleAppender,控制台输出
#FileAppender,文件日志输出
#SMTPAppender,发邮件输出日志
#SocketAppender,Socket 日志
#NTEventLogAppender,Window NT 日志
#SyslogAppender,
#JMSAppender,
#AsyncAppender,
#NullAppender
#文件输出:RollingFileAppender
#log4j.rootLogger = INFO,logfile
### 输出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
### 布局格式,可以灵活指定
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
### 消息格式化
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss:SSSS} %m%n
### 输出到日志文件 ###
log4j.appender.D=org.apache.log4j.RollingFileAppender
log4j.appender.D.File=logs/log.log
log4j.appender.D.Append=true
log4j.appender.D.Threshold=DEBUG
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss:SSSS} %m%n
# 一个 log 文件的大小,超过这个大小就又会生成 1 个日志 # KB ,MB,GB
log4j.appender.D.MaxFileSize=5MB
# 最多保存 3 个文件备份
log4j.appender.D.MaxBackupIndex=5
### 保存异常信息到单独文件 ###
log4j.appender.E=org.apache.log4j.RollingFileAppender
log4j.appender.E.File=logs/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=[%-5p] %d{yyyy-MM-dd HH:mm:ss:SSSS} method:%l %m%n
# 一个 log 文件的大小,超过这个大小就又会生成 1 个日志 # KB ,MB,GB
log4j.appender.E.MaxFileSize=5MB
# 最多保存 3 个文件备份
log4j.appender.E.MaxBackupIndex=5

slf4j将部分日志打印在其他文件中

logback.xml配置中新增一个FileAppender

并定义输出格式和路径



    
      
    
     
 
    
    
    
    
    
    
    
 
    
    
        
            
            ${CONSOLE_LOG_PATTERN}
        
    
 
    
    
        
        
            
            DEBUG
            
            ACCEPT
            
            DENY
        
        
        ${log.base}/${log.moduleName}_info.log
        
        
            
            ${log.base}/${log.moduleName}_info_%d{yyyy-MM-dd}.%i.log.zip
            
            
                ${log.max.size}
            
        
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method\(\):%L -%msg%n
            UTF-8
        
    
 
    
    
        
            
            ERROR
        
        
        ${log.base}/${log.moduleName}_error.log
        
        
            
            ${log.base}/${log.moduleName}_error_%d{yyyy-MM-dd}.%i.log.zip
            
            
                ${log.max.size}
            
        
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method\(\):%L -%msg%n
            UTF-8
        
    
 
    
    
        
        
            
            DEBUG
        
        
        ${log.base.order}/${log.moduleName}_info.log
        
        
            
            ${log.base.order}/${log.moduleName}_info_%d{yyyy-MM-dd}.%i.log.zip
            
            
                ${log.max.size}
            
        
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method\(\):%L -%msg%n
            UTF-8
        
    
 
    
    
    
        
    
 
    
    
        
        
    
 
    
        
    

在需要额外打印日志的地方

Logger orderLog = LoggerFactory.getLogger("order");
orderLog.info("singleOrder params: {}",params);

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(maven如何使用slf4j输出日志到文件)