Files
longdianningxing/lms/nladmin-system/src/main/resources/logback-spring.xml

265 lines
11 KiB
XML
Raw Normal View History

2022-07-06 18:32:05 +08:00
<?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"
2023-02-09 13:07:57 +08:00
value="%black(%contextName-) %X{traceId} %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
2022-07-06 18:32:05 +08:00
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
2022-09-28 10:09:34 +08:00
<springProperty scope="context" name="lokiUrl" source="loki.url"/>
<springProperty scope="context" name="systemName" source="loki.systemName"/>
<property name="LOKI_URL" value="${lokiUrl}"/>
<property name="SYSTEM_NAME" value="${systemName}"/>
2022-07-06 18:32:05 +08:00
<property name="LOG_HOME" value="${logPath}"/>
<!--引入默认的一些设置-->
2022-12-14 11:01:49 +08:00
<include resource="log/LmsToMes.xml"/>
<include resource="log/LmsToSap.xml"/>
<include resource="log/MesToLms.xml"/>
<include resource="log/SapToLms.xml"/>
2023-01-12 09:50:29 +08:00
<include resource="log/ACSToMes.xml"/>
<include resource="log/MesToACS.xml"/>
2022-07-06 18:32:05 +08:00
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<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">
2023-02-06 09:27:48 +08:00
2022-07-06 18:32:05 +08:00
<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>
2022-12-30 10:17:29 +08:00
<charset>${log.charset}</charset>
2022-07-06 18:32:05 +08:00
</encoder>
</appender>
2023-02-07 17:42:33 +08:00
<appender name="esLogAppender" class="com.internetitem.logback.elasticsearch.ElasticsearchAppender">
2023-02-10 10:51:48 +08:00
<url>http://10.1.3.90:9200/_bulk</url>
2023-02-09 13:07:57 +08:00
<index>lms_log</index>
<type>lms_log</type>
2023-02-07 17:42:33 +08:00
<loggerName>es-logger</loggerName> <!-- optional -->
<errorLoggerName>es-error-logger</errorLoggerName> <!-- optional -->
<connectTimeout>30000</connectTimeout> <!-- optional (in ms, default 30000) -->
<errorsToStderr>false</errorsToStderr> <!-- optional (default false) -->
<includeCallerData>false</includeCallerData> <!-- optional (default false) -->
<logsToStderr>false</logsToStderr> <!-- optional (default false) -->
<maxQueueSize>104857600</maxQueueSize> <!-- optional (default 104857600) -->
<maxRetries>3</maxRetries> <!-- optional (default 3) -->
<readTimeout>30000</readTimeout> <!-- optional (in ms, default 30000) -->
<sleepTime>250</sleepTime> <!-- optional (in ms, default 250) -->
<rawJsonMessage>false</rawJsonMessage> <!-- optional (default false) -->
<includeMdc>false</includeMdc> <!-- optional (default false) -->
<maxMessageSize>20000</maxMessageSize> <!-- optional (default -1 -->
<!-- <authentication class="com.internetitem.logback.elasticsearch.config.BasicAuthentication" /> &lt;!&ndash; optional &ndash;&gt;-->
<properties>
<property>
2023-02-09 15:00:24 +08:00
<name>system</name>
<value>lms</value>
</property>
<property>
<name>traceId</name>
<value>%X{traceId}</value>
2023-02-07 17:42:33 +08:00
</property>
<property>
2023-02-09 13:07:57 +08:00
<name>logLevel</name>
2023-02-07 17:42:33 +08:00
<value>%level</value>
</property>
<property>
2023-02-09 13:07:57 +08:00
<name>requestMethod</name>
<value>%X{requestMethod}</value>
2023-02-07 17:42:33 +08:00
</property>
<property>
2023-02-09 13:07:57 +08:00
<name>requestTime</name>
2023-02-09 18:00:20 +08:00
<value>%d{yyyy-MM-dd HH:mm:ss.SSS}</value>
2023-02-07 17:42:33 +08:00
</property>
<property>
2023-02-09 13:07:57 +08:00
<name>requestIp</name>
<value>%X{requestIp}</value>
</property>
<property>
<name>thread</name>
<value>%thread</value>
2023-02-07 17:42:33 +08:00
</property>
<property>
2023-02-09 13:07:57 +08:00
<name>logger</name>
<value>%logger</value>
2023-02-07 17:42:33 +08:00
</property>
</properties>
<headers>
<header>
<name>Content-Type</name>
<value>application/json</value>
</header>
</headers>
</appender>
2023-02-05 21:03:37 +08:00
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>error</level>
</filter>
2023-02-06 09:27:48 +08:00
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/ERROR/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
2023-02-05 21:03:37 +08:00
<maxHistory>15</maxHistory>
2023-02-06 09:27:48 +08:00
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>200MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>20GB</totalSizeCap>
2023-02-05 21:03:37 +08:00
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
<charset>${log.charset}</charset>
</encoder>
</appender>
2022-07-06 18:32:05 +08:00
<!--异步到文件-->
<appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold>0</discardingThreshold>
<queueSize>500</queueSize>
<appender-ref ref="FILE"/>
</appender>
<!--开发环境:打印控制台-->
<springProfile name="dev">
2023-02-10 10:51:48 +08:00
<root level="info">
2022-07-06 18:32:05 +08:00
<appender-ref ref="CONSOLE"/>
2022-11-18 16:44:09 +08:00
<appender-ref ref="asyncFileAppender"/>
2023-02-07 17:42:33 +08:00
<appender-ref ref="esLogAppender" />
2022-07-06 18:32:05 +08:00
</root>
2022-10-27 10:32:25 +08:00
<logger name="org.springframework" level="ERROR" additivity="false">
2022-07-06 18:32:05 +08:00
<appender-ref ref="CONSOLE"/>
</logger>
2023-02-09 15:00:24 +08:00
<logger name="es-logger" level="warn" additivity="false">
<appender-ref ref="esLogAppender" />
<appender-ref ref="CONSOLE"/>
</logger>
2022-10-27 10:32:25 +08:00
<logger name="org.apache" level="ERROR" additivity="false">
2022-10-11 11:13:15 +08:00
<appender-ref ref="CONSOLE"/>
</logger>
2022-10-27 10:32:25 +08:00
<logger name="org.hibernate" level="ERROR" additivity="false">
2022-07-06 18:32:05 +08:00
<appender-ref ref="CONSOLE"/>
</logger>
2022-10-27 10:32:25 +08:00
<logger name="io.netty" level="ERROR" additivity="false">
2022-07-06 18:32:05 +08:00
<appender-ref ref="CONSOLE"/>
</logger>
2022-10-27 10:32:25 +08:00
<logger name="jdbc" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="io.lettuce" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.google" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="springfox" level="ERROR" additivity="false">
2022-07-06 18:32:05 +08:00
<appender-ref ref="CONSOLE"/>
</logger>
2022-10-27 10:32:25 +08:00
<logger name="log4jdbc" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="false">
2022-07-06 18:32:05 +08:00
<appender-ref ref="CONSOLE"/>
</logger>
</springProfile>
<!--生产环境:打印控制台和输出到文件-->
<springProfile name="prod">
2023-02-12 10:21:43 +08:00
<root level="info">
2022-07-06 18:32:05 +08:00
<appender-ref ref="asyncFileAppender"/>
2023-02-05 21:03:37 +08:00
<appender-ref ref="ERROR" />
2023-02-07 17:42:33 +08:00
<appender-ref ref="esLogAppender" />
2022-07-06 18:32:05 +08:00
</root>
2022-10-27 10:32:25 +08:00
<logger name="org.springframework" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
2022-10-11 11:13:15 +08:00
</logger>
2023-02-10 10:57:22 +08:00
<logger name="es-logger" level="warn" additivity="false">
<appender-ref ref="esLogAppender" />
<appender-ref ref="CONSOLE"/>
</logger>
2022-10-27 10:32:25 +08:00
<logger name="org.apache" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
2022-07-06 18:32:05 +08:00
</logger>
2022-10-27 10:32:25 +08:00
<logger name="org.hibernate" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
2022-07-06 18:32:05 +08:00
</logger>
2022-10-27 10:32:25 +08:00
<logger name="io.netty" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
2022-07-06 18:32:05 +08:00
</logger>
2022-10-27 10:32:25 +08:00
<logger name="jdbc" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
2022-07-06 18:32:05 +08:00
</logger>
2022-10-27 10:32:25 +08:00
<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"/>
2023-02-05 21:03:37 +08:00
2022-10-27 10:32:25 +08:00
</logger>
<logger name="com.google" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
2023-02-05 21:03:37 +08:00
2022-10-27 10:32:25 +08:00
</logger>
<logger name="springfox" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
2023-02-05 21:03:37 +08:00
2022-10-27 10:32:25 +08:00
</logger>
<logger name="log4jdbc" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
2023-02-05 21:03:37 +08:00
2022-10-27 10:32:25 +08:00
</logger>
<logger name="nl.basjes" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
2023-02-05 21:03:37 +08:00
2022-07-06 18:32:05 +08:00
</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>