手工做火枪的网站,工程承包网站哪个好?,企业网站 备案,滁州网站设计文章目录 一 Log4J2 相关概念及基本特点二 Spring Boot3 中启用Log4J2的pom.xml配置三 application.properties 的配置四 完整配置 一 Log4J2 相关概念及基本特点
Log4J2是Apache Log4j的升级版#xff0c;参考了logback的一些优秀的设计#xff0c;并且修复了一些问题… 文章目录 一 Log4J2 相关概念及基本特点二 Spring Boot3 中启用Log4J2的pom.xml配置三 application.properties 的配置四 完整配置 一 Log4J2 相关概念及基本特点
Log4J2是Apache Log4j的升级版参考了logback的一些优秀的设计并且修复了一些问题因此带来了一些重大的提升。 Logger日志记录器用于标识日志的来源。常见的有两种:Root和Logger。Root节点用来指定项目的根日志如果没有单独指定Logger那么就会默认使用该Root日志输出 Appender日志输出器用于将日志记录输出到指定的目标。常见的有三种子节点:Console、RollingFile、File。Console节点用来定义输出到控制台的AppenderRollingFile节点用来定义超过指定条件自动删除旧的创建新的AppenderFile节点用来定义输出到指定位置的文件的Appender。 Layout日志格式化器用于定义日志记录的输出格式。Root节点用来指定项目的根日志如果没有单独指定Logger那么就会默认使用该Root日志输出。
二 Spring Boot3 中启用Log4J2的pom.xml配置 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-log4j2/artifactId/dependency排除原依赖中的日志相关包单独引入Log4J2依赖。
三 application.properties 的配置
# 控制台输出的字符集
logging.charset.consoleUTF-8
# 日志写入文件的字符集
logging.charset.fileUTF-8
# Log4J2自定义配置的路径放置到resources目录下
logging.configclasspath:logback.xml
# 应用程序包的路径
logging.level.com.testINFO
# 日志存放路径
logging.file.pathlogs/test.log四 完整配置
配置文件的名称为logback.xml放置于resources目录下。
?xmlversion1.0 encodingUTF-8?!--status用来指定log4j2本身的打印日志的级别,monitorinterval用于指定log4j自动重新配置的监测间隔时间单位是s,最小是5s--
Configuration statusWARN monitorInterval30PropertiesProperty namelogDirlogs/PropertyProperty namelogFilecmams/PropertyProperty namelevelDEBUG/Property/PropertiesAppendersConsole nameConsole targetSYSTEM_OUTPatternLayout pattern[%-4level] [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %logger{96}:%line - %msg%n/!--控制台只输出level及其以上级别的信息onMatch其他的直接拒绝onMismatch--ThresholdFilter levelINFO onMatchACCEPT onMismatchDENY//ConsoleRollingFile nameFile fileName${logDir}/${logFile}.logfilePattern${logDir}/${logFile}-%d{yyyy-MM-dd}-%i.log.gz!--日志输出格式--PatternLayout pattern[%-4level] [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %logger{96}:%line - %msg%n/!--满足任何一个policy即进行归档--Policies!--当前日志与开始日期不匹配RollingFile中配置的filePattern中配置的最小时间单位不匹配时时进行归档--TimeBasedTriggeringPolicy/!--文件超过512M进行归档SizeBasedTriggeringPolicy规定了当日志文件达到了指定的size时触发rollover操作。size参数可以用KB、MB、GB等做后缀来指定具体的字节数如20MB--SizeBasedTriggeringPolicy size64MB//Policies!--归档的文件最大数量,max参数指定了计数器的最大值。一旦计数器达到了最大值过旧的文件将被删除。--DefaultRolloverStrategy max20!--删除规则--Delete basePath${logDir} maxDepth2!--匹配文件规则--IfFileName glob*.log.gzIfLastModified age60dIfAny!--logDir下文件总大小超过5GB进行删除--IfAccumulatedFileSize exceeds5GB/!--logDir下文件总数量超过100进行删除--IfAccumulatedFileCount exceeds100//IfAny/IfLastModified/IfFileName/Delete/DefaultRolloverStrategy/RollingFile/AppendersLoggers!--若是additivity设为false则 子Logger 只会在自己的appender里输出而不会在 父Logger 的appender里输出。--Logger namecom.cxwn.cmams level${level} additivityfalseAppenderRef refFile/AppenderRef refConsole//LoggerLogger nameorg.springframework levelERROR additivityfalseAppenderRef refConsole/AppenderRef refFile//LoggerRoot levelWARNAppenderRef refConsole/AppenderRef refFile//Root/Loggers
/Configuration