|
|
@@ -0,0 +1,131 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<configuration>
|
|
|
+ <include resource="org/springframework/boot/logging/logback/base.xml" />
|
|
|
+ <jmxConfigurator/>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ %m
|
|
|
+ 输出代码中指定的消息
|
|
|
+ %p
|
|
|
+ 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
|
|
|
+ %r
|
|
|
+ 输出自应用启动到输出该log信息耗费的毫秒数
|
|
|
+ %c
|
|
|
+ 输出所属的类目,通常就是所在类的全名
|
|
|
+ %t
|
|
|
+ 输出产生该日志事件的线程名
|
|
|
+ %n
|
|
|
+ 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
|
|
|
+ %d
|
|
|
+ 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},
|
|
|
+ 输出类似:2002年10月18日 22:10:28,921
|
|
|
+ %l
|
|
|
+ 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
|
|
|
+ -->
|
|
|
+
|
|
|
+ <springProperty scope="context" name="log.path" source="logging.path" defaultValue="/var/log/smartschool/file-server"/>
|
|
|
+ <springProperty scope="context" name="spring.application.name" source="spring.application.name" defaultValue="file-server"/>
|
|
|
+ <springProperty scope="context" name="spring.profiles.active" source="spring.profiles.active" defaultValue="dev"/>
|
|
|
+ <springProperty scope="context" name="common-pattern" source="logging.common-pattern" defaultValue="%d{yyyy-MM-dd HH:mm:ss.SSS}:[%5p] [%t:%r] [%C{1}:%M:%L] --> %m%n"/>
|
|
|
+ <springProperty scope="context" name="log.level.console" source="logging.level.console" defaultValue="INFO"/>
|
|
|
+ <springProperty scope="context" name="log.destination" source="logging.destination" defaultValue="10.1.81.1:5000"/>
|
|
|
+
|
|
|
+ <contextName>${spring.application.name}-${spring.profiles.active}-logback</contextName>
|
|
|
+
|
|
|
+ <appender name="CONSOLE_APPENDER" class="ch.qos.logback.core.ConsoleAppender">
|
|
|
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
|
|
+ <level>${log.level.console}</level>
|
|
|
+ </filter>
|
|
|
+ <encoder>
|
|
|
+ <pattern>${common-pattern}</pattern>
|
|
|
+ </encoder>
|
|
|
+ </appender>
|
|
|
+
|
|
|
+ <appender name="ROOT_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
|
+ <file>${log.path}/root.log</file>
|
|
|
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
|
|
+ <fileNamePattern>${log.path}/%d{yyyy-MM}/root-%d{yyyy-MM-dd}-%i.log.gz</fileNamePattern>
|
|
|
+ <maxFileSize>128MB</maxFileSize>
|
|
|
+ <maxHistory>7</maxHistory>
|
|
|
+ <totalSizeCap>20GB</totalSizeCap>
|
|
|
+ </rollingPolicy>
|
|
|
+ <encoder>
|
|
|
+ <pattern>${common-pattern}</pattern>
|
|
|
+ </encoder>
|
|
|
+ </appender>
|
|
|
+
|
|
|
+ <!-- Appender to log in a JSON format -->
|
|
|
+ <appender name="JSON_APPENDER" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
|
|
|
+ <destination>${log.destination}</destination>
|
|
|
+ <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
|
|
|
+ <providers>
|
|
|
+ <pattern>
|
|
|
+ <pattern>
|
|
|
+ {
|
|
|
+ "severity": "%level",
|
|
|
+ "service": "${spring.application.name:-}",
|
|
|
+ "trace": "%X{X-B3-TraceId:-}",
|
|
|
+ "span": "%X{X-B3-SpanId:-}",
|
|
|
+ "parent": "%X{X-B3-ParentSpanId:-}",
|
|
|
+ "exportable": "%X{X-Span-Export:-}",
|
|
|
+ "pid": "${PID:-}",
|
|
|
+ "thread": "%thread",
|
|
|
+ "class": "%logger{40}",
|
|
|
+ "rest": "%message"
|
|
|
+ }
|
|
|
+ </pattern>
|
|
|
+ </pattern>
|
|
|
+ </providers>
|
|
|
+ </encoder>
|
|
|
+ </appender>
|
|
|
+
|
|
|
+ <logger name="org.springframework" level="INFO"/>
|
|
|
+ <logger name="com.usoftchina.smartschool" level="INFO"/>
|
|
|
+
|
|
|
+ <springProfile name="dev">
|
|
|
+ <root level="INFO">
|
|
|
+ <appender-ref ref="CONSOLE_APPENDER"/>
|
|
|
+ </root>
|
|
|
+ </springProfile>
|
|
|
+
|
|
|
+ <springProfile name="test">
|
|
|
+ <root level="INFO">
|
|
|
+ <appender-ref ref="CONSOLE_APPENDER"/>
|
|
|
+ <appender-ref ref="ROOT_APPENDER"/>
|
|
|
+ </root>
|
|
|
+ </springProfile>
|
|
|
+
|
|
|
+ <springProfile name="docker">
|
|
|
+ <logger name="org.springframework" level="WARN"/>
|
|
|
+ <logger name="com.usoftchina.smartschool" level="WARN"/>
|
|
|
+ <root level="WARN">
|
|
|
+ <appender-ref ref="CONSOLE_APPENDER"/>
|
|
|
+ <appender-ref ref="JSON_APPENDER"/>
|
|
|
+ </root>
|
|
|
+ </springProfile>
|
|
|
+
|
|
|
+ <springProfile name="docker-dev">
|
|
|
+ <root level="INFO">
|
|
|
+ <appender-ref ref="CONSOLE_APPENDER"/>
|
|
|
+ </root>
|
|
|
+ </springProfile>
|
|
|
+
|
|
|
+ <springProfile name="docker-test">
|
|
|
+ <logger name="org.springframework" level="WARN"/>
|
|
|
+ <logger name="com.usoftchina.smartschool" level="WARN"/>
|
|
|
+ <root level="WARN">
|
|
|
+ <appender-ref ref="CONSOLE_APPENDER"/>
|
|
|
+ <appender-ref ref="JSON_APPENDER"/>
|
|
|
+ </root>
|
|
|
+ </springProfile>
|
|
|
+
|
|
|
+ <springProfile name="docker-prod">
|
|
|
+ <logger name="org.springframework" level="WARN"/>
|
|
|
+ <logger name="com.usoftchina.smartschool" level="WARN"/>
|
|
|
+ <root level="WARN">
|
|
|
+ <appender-ref ref="CONSOLE_APPENDER"/>
|
|
|
+ <appender-ref ref="JSON_APPENDER"/>
|
|
|
+ </root>
|
|
|
+ </springProfile>
|
|
|
+
|
|
|
+</configuration>
|