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>
原文地址:https://www.cnblogs.com/2eggs/p/13522847.html