<?xml version= "1.0" encoding= "UTF-8" ?> <configuration scan= "true" scanPeriod= "60 seconds" debug= "true" > <!-- 需要替换成自己项目的配置文件的key值 --> <springProperty scope= "context" name= "name" source= "spring.application.name" /> <springProperty scope= "context" name= "env" source= "spritz.env" /> <springProperty scope= "context" name= "version" source= "spritz.version" /> <springProperty scope= "context" name= "logLevel" source= "spritz.log.level" /> <springProperty scope= "context" name= "logHome" source= "spritz.log.path" /> <springProperty scope= "context" name= "serverIp" source= "graylog.server.ip" defaultValue= "1.1.1.1" /> <define name= "ipAddress" class= "com.haocheemai.wuling.tools.log.IPAddressProperty" /> <!-- ch.qos.logback.core.ConsoleAppender --> <appender name= "STDOUT" class= "ch.qos.logback.core.ConsoleAppender" > <encoder class= "ch.qos.logback.classic.encoder.PatternLayoutEncoder" > <Pattern>%-5level %d { yyyy-MM-dd HH : mm : ss.SSS } [ %thread ] [ %X { traceId } ] [ %logger { 50 } : %line ] - %msg%n</Pattern> </encoder> </appender> <appender name= "FILE" class= "ch.qos.logback.core.rolling.RollingFileAppender" > <file>$ { logHome } /spritz.log</file> <rollingPolicy class= "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy" > <!--日志文件输出的文件名--> <FileNamePattern>$ { logHome } /spritz.%d { yyyy-MM-dd } .%i.log</FileNamePattern> <!--日志文件保留天数--> <MaxHistory>90</MaxHistory> <maxFileSize>100MB</maxFileSize> <totalSizeCap>10GB</totalSizeCap> </rollingPolicy> <encoder class= "ch.qos.logback.classic.encoder.PatternLayoutEncoder" > <Pattern>%-5level %d { yyyy-MM-dd HH : mm : ss.SSS } [ %thread ] [ %X { traceId } ] [ %logger { 50 } : %line ] - %msg%n</Pattern> </encoder> </appender> <appender name= "GELF" class= "de.siegmar.logbackgelf.GelfUdpAppender" > <graylogHost>$ { serverIp } </graylogHost> <graylogPort>12253</graylogPort> <maxChunkSize>508</maxChunkSize> <useCompression> true </useCompression> <!--<messageIdSupplier class= "de.siegmar.logbackgelf.MessageIdSupplier" />--> <encoder class= "de.siegmar.logbackgelf.GelfEncoder" > <originHost>$ { ipAddress } </originHost> <includeRawMessage> false </includeRawMessage> <includeMarker> true </includeMarker> <includeMdcData> true </includeMdcData> <includeCallerData> false </includeCallerData> <includeRootCauseData> false </includeRootCauseData> <includeLevelName> false </includeLevelName> <shortPatternLayout class= "ch.qos.logback.classic.PatternLayout" > <pattern>%-5level %d { yyyy-MM-dd HH : mm : ss.SSS } [ %X { traceId } ] %msg%n</pattern> </shortPatternLayout> <fullPatternLayout class= "ch.qos.logback.classic.PatternLayout" > <pattern>%-5level %d { yyyy-MM-dd HH : mm : ss.SSS } [ %thread ] [ %X { traceId } ] [ %logger { 50 } : %line ] - %msg%n </pattern> </fullPatternLayout> <!--<numbersAsString> false </numbersAsString>--> <staticField>app_name : $ { name } </staticField> <staticField>app_version : $ { version } </staticField> <staticField>app_env : $ { env } </staticField> <staticField>os_arch : $ { os.arch } </staticField> <staticField>os_name : $ { os.name } </staticField> <staticField>os_version : $ { os.version } </staticField> <staticField>java_version : $ { java.version } </staticField> </encoder> </appender> <root level= "${logLevel}" > <appender-ref ref= "STDOUT" /> <appender-ref ref= "GELF" /> <appender-ref ref= "FILE" /> </root> </configuration> |