| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?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/saas/storage-server"/>
- <springProperty scope="context" name="spring.application.name" source="spring.application.name" defaultValue="storage-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="192.168.253.3: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.saas" 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"/>
- <root level="WARN">
- <appender-ref ref="CONSOLE_APPENDER"/>
- <appender-ref ref="JSON_APPENDER"/>
- </root>
- </springProfile>
- </configuration>
|