1. 程式人生 > 實用技巧 >springboot 多日誌

springboot 多日誌

  1 <?xml version='1.0' encoding='UTF-8'?>
  2 <configuration>
  3     <springProperty name="logFile" source="log.file"/>
  4     <springProperty name="DataFileNettyUdp" source="data.txt"/>
  5     <springProperty name="rootlevel" source="log.level.root"/>
  6     <springProperty name="
mylevel" source="log.level.my"/> 7 <springProperty name="maxFileSize" source="log.maxsize"/> 8 <springProperty name="maxDataFileSize" source="log.maxdatasize"/> 9 10 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 11 <encoder> 12
<pattern>{faint} %d [%thread] %-5level %logger{50} -[%file:%line]- %msg%n 13 </pattern> 14 <charset>UTF-8</charset> 15 </encoder> 16 </appender> 17 18 <appender name="adminLog" class="ch.qos.logback.core.rolling.RollingFileAppender
"> 19 <file>${logFile}</file> 20 <encoder> 21 <pattern>%d [%thread] %-5level -[%file:%line]- %msg%n</pattern> 22 <charset>UTF-8</charset> 23 </encoder> 24 <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> 25 <fileNamePattern>${logFile}.%d{yyyy-MM-dd}.%i</fileNamePattern> 26 <maxFileSize>${maxFileSize}</maxFileSize> 27 </rollingPolicy> 28 </appender> 29 30 <appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> 31 <file>${logFile}.error</file> 32 <encoder> 33 <pattern>%d [%thread] %-5level %logger{36} -[%file:%line]- %msg%n 34 </pattern> 35 <charset>UTF-8</charset> 36 </encoder> 37 <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> 38 <fileNamePattern>${logFile}.error.%d{yyyy-MM-dd}.%i</fileNamePattern> 39 <maxFileSize>${maxFileSize}</maxFileSize> 40 </rollingPolicy> 41 <filter class="ch.qos.logback.classic.filter.LevelFilter"> 42 <level>error</level> 43 <onMatch>ACCEPT</onMatch> 44 <onMismatch>DENY</onMismatch> 45 </filter> 46 </appender> 47 48 <appender name="sqlLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> 49 <file>${logFile}.sql</file> 50 <encoder> 51 <pattern>%d [%thread] %msg%n 52 </pattern> 53 <charset>UTF-8</charset> 54 </encoder> 55 <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> 56 <fileNamePattern>${logFile}.sql.%d{yyyy-MM-dd}.%i</fileNamePattern> 57 <maxFileSize>${maxFileSize}</maxFileSize> 58 </rollingPolicy> 59 </appender> 60 <appender name="DataUse" class="ch.qos.logback.core.rolling.RollingFileAppender"> 61 <file>logs/mydata.txt</file> 62 <append>true</append> 63 <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> 64 <fileNamePattern>logs/data/%d{yyyy-MM-dd}/%d{HH}/data-%d{HH_mm}-%i.txt</fileNamePattern> 65 <!-- <TimeBasedTriggeringPolicy interval="2" modulate ="true"/>--> 66 <maxFileSize>500KB</maxFileSize> 67 <maxHistory>30</maxHistory> 68 <!-- <cleanHistoryOnStart>true</cleanHistoryOnStart>--> 69 </rollingPolicy> 70 <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 71 <pattern>%msg%n</pattern> 72 <charset>UTF-8</charset> 73 </encoder> 74 </appender> 75 <appender name="DataUdpUse" class="ch.qos.logback.core.rolling.RollingFileAppender"> 76 <file>logs/mydataudp.txt</file> 77 <append>true</append> 78 <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> 79 <fileNamePattern>logs/data/%d{yyyy-MM-dd}/%d{HH}/dataudp-%d{HH_mm}-%i.txt</fileNamePattern> 80 <!-- <TimeBasedTriggeringPolicy interval="2" modulate ="true"/>--> 81 <maxFileSize>500KB</maxFileSize> 82 <maxHistory>30</maxHistory> 83 <!-- <cleanHistoryOnStart>true</cleanHistoryOnStart>--> 84 </rollingPolicy> 85 <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 86 <pattern>%msg%n</pattern> 87 <charset>UTF-8</charset> 88 </encoder> 89 </appender> 90 91 <!-- <appender name="JasonLog" class="ch.qos.logback.core.rolling.RollingFileAppender">--> 92 93 <!-- </appender>--> 94 <!-- 指定包名/類,日誌級別 --> 95 <!-- 96 為何root配置的INFO,logger特殊指定的包/類日誌DEBUG級別,最後也能打印出來 97 因為沒有設定addtivity="false" ,如下圖即可。 98 logger有一個配置addtivity="true" 預設就是true,標識向上級傳遞日誌(INFO是DEBUG的上級)。只有顯示指定為false時,才不會向上級輸出。 99 --> 100 <logger name="adminLogger" level="${mylevel}" additivity="true"> 101 <appender-ref ref="adminLog"/> 102 </logger> 103 104 <logger name="com.topwulian.dao" level="error" additivity="true"> 105 <appender-ref ref="sqlLog"/> 106 </logger> 107 <logger name="DataLogger" level="info" additivity="true"> 108 <appender-ref ref="DataUse"/> 109 </logger> 110 <logger name="DataUdpLogger" level="info" additivity="true"> 111 <appender-ref ref="DataUdpUse"/> 112 </logger> 113 <!-- 彩色日誌 --> 114 <!-- 彩色日誌依賴的渲染類 --> 115 <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/> 116 <conversionRule conversionWord="wex" 117 converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/> 118 <conversionRule conversionWord="wEx" 119 converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/> 120 <!-- 彩色日誌格式 --> 121 <property name="CONSOLE_LOG_PATTERN" 122 value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> 123 <!-- Console 輸出設定 --> 124 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 125 <encoder> 126 <pattern>${CONSOLE_LOG_PATTERN}</pattern> 127 <charset>utf8</charset> 128 </encoder> 129 </appender> 130 <root level="${rootlevel}"> 131 <appender-ref ref="CONSOLE"/> 132 <appender-ref ref="errorLog"/> 133 </root> 134 135 136 </configuration>