asp.net网站开发四酷全书,创客贴设计网站官网,倒闭汉化组的wordpress,怎么做期货网站目录
Log4j2配置
springboot多环境日志配置
参考资料 Log4j2配置
如果你想要在控制台输出美化的日志信息#xff0c;你可以使用Log4j2的ConsoleAppender和AnsiColorConverter来实现。下面是相应的配置示例#xff1a;
Configuration statusWARN…目录
Log4j2配置
springboot多环境日志配置
参考资料 Log4j2配置
如果你想要在控制台输出美化的日志信息你可以使用Log4j2的ConsoleAppender和AnsiColorConverter来实现。下面是相应的配置示例
Configuration statusWARNPropertiesProperty namelogPath/path/to/logs/Property/PropertiesAppendersRouting nameRoutingAppenderRoutes pattern$${ctx:loggerType}Route keyinfo refInfoFileAppenderFiltersThresholdFilter levelinfo onMatchACCEPT onMismatchDENY//Filters/RouteRoute keyerror refErrorFileAppenderFiltersThresholdFilter levelerror onMatchACCEPT onMismatchDENY//Filters/Route/Routes/RoutingConsole nameConsoleAppender targetSYSTEM_OUTPatternLayout pattern%highlight{%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n}{FATALred, ERRORred, WARNyellow, INFOgreen, DEBUGblue, TRACEblue} //ConsoleRollingFile nameInfoFileAppender fileName${logPath}/info.logfilePattern${logPath}/info-%d{yyyy-MM-dd-HH}.logPatternLayout pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n /PoliciesTimeBasedTriggeringPolicy interval1 modulatetrue //PoliciesDefaultRolloverStrategy max24Delete basePath${logPath}IfFileName globinfo-*.log /IfLastModified age7d //Delete/DefaultRolloverStrategyActionsGZCompressIfLastModified age7d//GZCompress/Actions/RollingFileRollingFile nameErrorFileAppender fileName${logPath}/error.logfilePattern${logPath}/error-%d{yyyy-MM-dd-HH}.logPatternLayout pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n /PoliciesTimeBasedTriggeringPolicy interval1 modulatetrue //PoliciesDefaultRolloverStrategy max24Delete basePath${logPath}IfFileName globerror-*.log /IfLastModified age7d //Delete/DefaultRolloverStrategyActionsGZCompressIfLastModified age7d//GZCompress/Actions/RollingFile/AppendersLoggersRoot levelinfoAppenderRef refRoutingAppender/AppenderRef refConsoleAppender//Root/Loggers
/Configuration
在这个配置中我们定义了两个RollingFile appender分别用于info日志和error日志。每个appender都有自己的文件名、文件模式、时间触发策略和滚动策略。同时我们使用了DeleteAction来保持每个类型的日志文件在7天内并使用GZCompressAction在满足条件后进行压缩。
使用RoutingAppender可以根据Logger的上下文信息将日志路由到不同的appender。在这个示例中我们使用loggerType作为Routing key并在Routes元素内定义了两个Route分别将info和error路由到对应的appender。
最后我们将RoutingAppender作为Root logger的Appender引用以便所有日志都能正确路由到相应的appender。
请根据实际需求修改logPath配置属性将日志存储在适当的位置。另外你可以通过修改DeleteAction的条件来实现按照3个月删除文件的需求。例如可以将IfLastModified age7d /改为IfLastModified age90d /。
springboot多环境日志配置
在Spring Boot多环境下可以为不同环境分别配置不同的Log4j2配置文件使用Spring Boot提供的logging.config配置项指定当前环境下使用的Log4j2配置文件。
首先在项目的resources目录下创建多个Log4j2配置文件以application-{profile}.yml或application-{profile}.properties命名其中{profile}为环境名称如application-dev.yml、application-test.yml和application-prod.yml。
接着在Spring Boot的配置文件如application.yml中指定logging.config配置项的值为当前环境下使用的Log4j2配置文件路径。例如
yaml spring: profiles: active: dev application: name: myapp main: allow-bean-definition-overriding: true jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT8
logging: config: classpath:log4j2-${spring.profiles.active}.xml
在上面的配置中我们将logging.config配置项的值设置为classpath:log4j2-${spring.profiles.active}.xml即使用当前激活的环境对应的Log4j2配置文件。这里使用了${spring.profiles.active}EL表达式获取当前激活的环境名称。
最后在Log4j2配置文件中可以使用${sys:property}获取系统属性例如${sys:logPath}获取名为logPath的系统属性。也可以使用${ctx:variableName}获取Log4j2上下文变量。
例如在Log4j2配置文件中可以使用以下方式获取当前环境对应的配置项
xml Configuration Properties Property namelogPath${sys:logPath}/Property /Properties !-- 定义Appenders和Loggers -- /Configuration
在上面的配置中我们使用${sys:logPath}获取名为logPath的系统属性。
这样就可以实现在Spring Boot多环境下使用Log4j2的配置了。
参考资料
log4j2 的使用【超详细图文】-CSDN博客
log4j2 实际使用详解-CSDN博客