@@ -1,44 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- 配置说明:
https://www.cnblogs.com/jybky/p/12204586.html
https://blog.csdn.net/wzygis/article/details/103189490
https://www.cnblogs.com/xrq730/p/8628945.html
https://www.jianshu.com/p/af5a7bab0e59
https://blog.csdn.net/wzygis/article/details/103189490
https://juejin.cn/post/6844903775631572999
-->
<configuration scan= "true" scanPeriod= "30 seconds" debug= "false" >
<contextName > nlAdmin</contextName>
<property name= "log.charset" value= "utf-8" />
<property name= "log.pattern"
value= "%cyan (%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %blue (%msg%n)" />
value= "%black (%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray (%msg%n)" />
<property name= "LOG_HOME" value= "${logPath}" />
<!-- 引入默认的一些设置 -->
<include resource= "log/WmsToErp.xml" />
<include resource= "log/ErpToWms.xml" />
<include resource= "log/SendAcsTask.xml" />
<appender name= "CONSOLE" class= "ch.qos.logback.core.ConsoleAppender" >
<!-- withJansi 参数改为true -->
<!-- 控制台高亮 -->
<withJansi > true</withJansi>
<encoder class= "com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder" >
<pattern > ${log.pattern}</pattern>
<!-- <charset>${log.charset}</charset> -->
</encoder>
</appender>
<!-- 定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
<property name= "LOG_HOME" value= "${logPath}" />
<!-- 按照每天生成日志文件 -->
<appender name= "FILE" class= "ch.qos.logback.core.rolling.RollingFileAppender" >
<rollingPolicy class= "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy" >
<!-- 日志文件输出的文件名 -->
<FileNamePattern > ${LOG_HOME}/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!-- 日志文件保留天数 -->
<maxHistory > 3 0</maxHistory>
<maxHistory > 1 0</maxHistory>
<!-- 单个日志最大容量 至少10MB才能看得出来 -->
<maxFileSize > 12 0MB</maxFileSize>
<maxFileSize > 10 0MB</maxFileSize>
<!-- 所有日志最多占多大容量 -->
<totalSizeCap > 20GB</totalSizeCap>
</rollingPolicy>
@@ -46,179 +32,140 @@ https://juejin.cn/post/6844903775631572999
<!-- 格式化输出:%d表示日期, %thread表示线程名, % - 5level: 级别从左显示5个字符宽度%msg: 日志消息, %n是换行符 -->
<pattern > %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<appender name= "luceneAppender" class= "org.nl.config.lucene.Lucen eAppender" >
<filter class= "ch.qos.logback.classic.filter.LevelFilter " >
<level > DEBUG</level >
<onMatch > ACCEPT</onMatch >
<onMismatch > DENY</onMismatch >
</filter >
<appender name= "ErpLogFile" class= "ch.qos.logback.core.rolling.RollingFil eAppender" >
<rollingPolicy class= "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy " >
<!-- 日志文件输出的文件名 -- >
<FileNamePattern > ${LOG_HOME}/ErpLog/%d{yyyy-MM-dd}.%i.log</FileNamePattern >
<!-- 日志文件保留天数 -- >
<maxHistory > 7</maxHistory >
<!-- 单个日志最大容量 至少10MB才能看得出来 -->
<maxFileSize > 100MB</maxFileSize>
<!-- 所有日志最多占多大容量 -->
<totalSizeCap > 20GB</totalSizeCap>
</rollingPolicy>
<encoder class= "ch.qos.logback.classic.encoder.PatternLayoutEncoder" >
<!-- 格式化输出:%d表示日期, %thread表示线程名, % - 5level: 级别从左显示5个字符宽度%msg: 日志消息, %n是换行符 -->
<pattern > %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<appender name= "asyncLuceneAppender" class= "ch.qos.logback.classic.AsyncAppender" >
<appender-ref ref= "luceneAppender" />
<!-- 设置队列大小 -->
<queueSize > 512</queueSize>
</appender>
<!-- 异步到文件 -->
<appender name= "asyncFileAppender" class= "com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender" >
<discardingThreshold > 0 </discardingThreshold>
<discardingThreshold > 2 </discardingThreshold>
<queueSize > 500</queueSize>
<appender-ref ref= "FILE" />
</appender>
<appender name= "asyncERPFileAppender" class= "ch.qos.logback.classic.AsyncAppender" >
<discardingThreshold > 2</discardingThreshold>
<queueSize > 500</queueSize>
<appender-ref ref= "ErpLogFile" />
</appender>
<appender name= "luceneAppender" class= "org.nl.config.lucene.LuceneAppender" >
<properties >
<property >
<name > system</name>
<value > lms</value>
</property>
<property >
<name > logLevel</name>
<value > %level</value>
</property>
<property >
<name > requestMethod</name>
<value > %X{requestMethod}</value>
</property>
<property >
<name > requestTime</name>
<value > %d{yyyy-MM-dd HH:mm:ss.SSS}</value>
</property>
<property >
<name > requestIp</name>
<value > %X{requestIp}</value>
</property>
<property >
<name > thread</name>
<value > %thread</value>
</property>
<property >
<name > logger</name>
<value > %logger</value>
</property>
</properties>
</appender>
<appender name= "asyncLuceneAppender" class= "org.nl.config.lucene.AsyncLuceneAppender" >
<appender-ref ref= "luceneAppender" />
<queueSize > 512</queueSize>
</appender>
<!-- 开发环境:打印控制台 -->
<springProfile name= "dev" >
<root level= "debug " >
<root level= "info " >
<appender-ref ref= "asyncLuceneAppender" />
<appender-ref ref= "CONSOLE" />
</root>
<logger name= "com.baomidou.mybatisplus.core.MybatisConfiguration " level= "ERROR" additivity= "fals e" >
<appender-ref ref= "asyncLuceneAppender" />
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.redisson.command.RedisExecutor" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncLuceneAppender" />
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.reflections.Reflections" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncLuceneAppender" />
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.redisson.connection.ClientConnectionsEntry" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncLuceneAppender" />
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.mybatis.spring.mapper.ClassPathMapperScanner" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncLuceneAppender" />
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.springframework" level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "com.baomidou.dynamic.datasource.DynamicRoutingDataSource" level= "INFO" additivity= "true" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "org.redisson.connection.pool.MasterPubSubConnectionPool" level= "INFO" additivity= "true" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "org.redisson.connection.pool.MasterConnectionPool" level= "INFO" additivity= "true" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "org.redisson.Version" level= "INFO" additivity= "true" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "com.alibaba.druid.pool.DruidDataSource" level= "INFO" additivity= "true" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "org.nl.config.RedisConfig" level= "INFO" additivity= "true" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "org.apache" level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "org.hibernate" level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "io.netty" level= "ERROR" additivity= "true" >
<logger name= "org.nl.wms.system_manage.service.quartz.task " level= "ERROR" additivity= "tru e" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "jdbc" level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE " />
<appender-ref ref= "asyncFileAppender " />
</logger>
<logger name= "io.lettuce " level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE " />
<logger name= "org.springframework " level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender " />
</logger>
<logger name= "com.fasterxml " level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE " />
<logger name= "org.hibernate " level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender " />
</logger>
<logger name= "org.quartz" level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE " />
<appender-ref ref= "asyncFileAppender " />
</logger>
<logger name= "com.google" level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE " />
<appender-ref ref= "asyncFileAppender " />
</logger>
<logger name= "springfox " level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE " />
<logger name= "org.redisson " level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender " />
</logger>
<logger name= "log4jdbc " level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE " />
<logger name= "org.nl.modules.wql " level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender " />
</logger>
<logger name= "nl.basjes " level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE " />
</logger>
<logger name= "com.yomahub.tlog.id.snowflake.UniqueIdGenerator" level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "com.yomahub.tlog.core.rpc.TLogRPCHandler" level= "ERROR" additivity= "true" >
<appender-ref ref= "CONSOLE" />
<logger name= "org.springframework.data " level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender " />
</logger>
</springProfile>
<springProfile name= "prod" >
<root level= "info" >
<appender-ref ref= "asyncLuceneAppender" />
<appender-ref ref= "CONSOLE" />
</root>
<logger name= "jdbc" level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.nl.wms.system_manage.service.quartz.task" level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncERPFileAppender" />
</logger>
<logger name= "org.springframework" level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.hibernate" level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.quartz" level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "com.google" level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.redisson" level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.nl.modules.wql" level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.springframework.data" level= "ERROR" additivity= "true" >
<appender-ref ref= "asyncFileAppender" />
</logger>
</springProfile>
<!-- 测试环境:打印控制台 -->
<!-- 生产环境:打印控制台和输出到文件 -->
<springProfile name= "prod" >
<root level= "INFO" >
<appender-ref ref= "asyncFileAppender" />
<appender-ref ref= "asyncLuceneAppender" />
</root>
<logger name= "org.springframework" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.apache" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.hibernate" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "io.netty" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "jdbc" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "io.lettuce" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "com.fasterxml" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "org.quartz" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "com.google" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "springfox" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "log4jdbc" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
<logger name= "nl.basjes" level= "ERROR" additivity= "false" >
<appender-ref ref= "asyncFileAppender" />
</logger>
</springProfile>
<!-- 测试环境:打印控制台 -->
<springProfile name= "test" >
<root level= "INFO" >
<appender-ref ref= "asyncFileAppender" />
</root>
<logger name= "jdbc.audit" level= "ERROR" additivity= "false" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "jdbc.resultset" level= "ERROR" additivity= "false" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "springfox.documentation" level= "ERROR" additivity= "false" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "jdbc.resultsettable" level= "ERROR" additivity= "false" >
<appender-ref ref= "CONSOLE" />
</logger>
<logger name= "jdbc.sqlonly" level= "ERROR" additivity= "false" >
<appender-ref ref= "CONSOLE" />
</logger>
</springProfile>
</configuration>