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>