# learn-log **Repository Path**: dwdyoung/learn-log ## Basic Information - **Project Name**: learn-log - **Description**: 使用log4j,log4j2,logback - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-02-22 - **Last Updated**: 2023-02-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # log4j,log4j2,logback日志框架的使用 ## SpringBoot环境下使用 > 目标: > 以debug,info,error三个日志级别为例,控制台能打印这三个日志级别,同时将不同的级别输出到不同的日志文件 ### log4j - Maven依赖 ```xml org.slf4j slf4j-api 1.7.36 org.slf4j slf4j-log4j12 1.7.32 ``` - log4j.properties ```properties # LOG4J配置 #注意:DEBUG控制全局的日志级别 log4j.rootCategory=DEBUG, console, infoFile, errorFile ,debugFile LOG_PATH=E:/logs/learn-log/log4j LOG_PATTERN=[%d{yyyy-MM-dd HH:mm:ss,SSS}]-[%p]:%m %x %n # 控制台输出 log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern =${LOG_PATTERN} ##debug以上级别的日志会进入改文件 #log4j.appender.debugFile = org.apache.log4j.DailyRollingFileAppender log4j.appender.debugFile =com.hx.learn.log.log4j.config.AppenderConfig log4j.appender.debugFile.Threshold = DEBUG log4j.appender.debugFile.File = ${LOG_PATH}/debug.log log4j.appender.debugFile.DatePattern = '.'yyyy-MM-dd'.log' log4j.appender.debugFile.Append=true log4j.appender.debugFile.layout = org.apache.log4j.PatternLayout log4j.appender.debugFile.layout.ConversionPattern =${LOG_PATTERN} ##info以上级别的日志会进入改文件 #log4j.appender.infoFile = org.apache.log4j.DailyRollingFileAppender log4j.appender.infoFile =com.hx.learn.log.log4j.config.AppenderConfig log4j.appender.infoFile.Threshold = INFO log4j.appender.infoFile.File = ${LOG_PATH}/log.log log4j.appender.infoFile.DatePattern = '.'yyyy-MM-dd'.log' log4j.appender.infoFile.Append=true log4j.appender.infoFile.layout = org.apache.log4j.PatternLayout log4j.appender.infoFile.layout.ConversionPattern =${LOG_PATTERN} ## error以上级别的日志会进入改文件 #log4j.appender.errorFile = org.apache.log4j.DailyRollingFileAppender log4j.appender.errorFile =com.hx.learn.log.log4j.config.AppenderConfig log4j.appender.errorFile.Threshold = ERROR log4j.appender.errorFile.File = ${LOG_PATH}/error.log log4j.appender.errorFile.DatePattern = '.'yyyy-MM-dd'.log' log4j.appender.errorFile.Append=true log4j.appender.errorFile.layout = org.apache.log4j.PatternLayout log4j.appender.errorFile.layout.ConversionPattern =${LOG_PATTERN} ``` ### log4j2 - Maven依赖 ```xml org.slf4j slf4j-api 1.7.36 org.apache.logging.log4j log4j-slf4j-impl 2.17.1 ``` - log4j.xml ```xml E:/logs/learn-log/log4j2 ``` ### log4back - Maven依赖 ```xml org.slf4j slf4j-api 1.7.36 ch.qos.logback logback-classic 1.2.11 ``` - logback.xml ```xml logback debug [%date] %level [%thread] %logger{36} [%file : %line] %msg%n ${path}/debug.log ${path}/debug.log.%d{yyyy-MM-dd}-%i.zip ${maxHistory} ${maxFileSize} [%date] %level [%thread] %logger{36} [%file : %line] %msg%n DEBUG ACCEPT DENY ${path}/info.log ${path}/info.log.%d{yyyy-MM-dd}-%i.zip ${maxHistory} ${maxFileSize} [%date] %level [%thread] %logger{36} [%file : %line] %msg%n INFO ACCEPT DENY ${path}/warn.log ${path}/warn.log.%d{yyyy-MM-dd}-%i.zip ${maxHistory} ${maxFileSize} [%date] %level [%thread] %logger{36} [%file : %line] %msg%n WARN ACCEPT DENY ${path}/error.log ${path}/error.log.%d{yyyy-MM-dd}-%i.zip ${maxHistory} ${maxFileSize} [%date] %level [%thread] %logger{36} [%file : %line] %msg%n ERROR ACCEPT DENY ```