¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!-- æ¥å¿çº§å«ä»ä½å°é«å为TRACE < DEBUG < INFO < WARN < ERROR < FATALï¼æ¯å¦: å¦æè®¾ç½®ä¸ºWARNï¼åä½äºWARNçä¿¡æ¯é½ä¸ä¼è¾åº --> |
| | | <!-- scan:彿¤å±æ§è®¾ç½®ä¸ºtrueæ¶ï¼é
ç½®ææ¡£å¦æåçæ¹åï¼å°ä¼è¢«éæ°å è½½ï¼é»è®¤å¼ä¸ºtrue --> |
| | | <!-- scanPeriod:è®¾ç½®çæµé
ç½®ææ¡£æ¯å¦æä¿®æ¹çæ¶é´é´éï¼å¦ææ²¡æç»åºæ¶é´åä½ï¼é»è®¤å使¯æ¯«ç§ãå½scan为trueæ¶ï¼æ¤å±æ§çæãé»è®¤çæ¶é´é´é为1åéã --> |
| | | <!-- debug:彿¤å±æ§è®¾ç½®ä¸ºtrueæ¶ï¼å°æå°åºlogbackå
鍿¥å¿ä¿¡æ¯ï¼å®æ¶æ¥çlogbackè¿è¡ç¶æãé»è®¤å¼ä¸ºfalseã --> |
| | | <configuration scan="true" scanPeriod="10 seconds"> |
| | | <contextName>logback</contextName> |
| | | |
| | | <!-- nameç弿¯åéçåç§°ï¼valueç弿¶åéå®ä¹çå¼ãéè¿å®ä¹çå¼ä¼è¢«æå
¥å°loggerä¸ä¸æä¸ãå®ä¹åï¼å¯ä»¥ä½¿â${}âæ¥ä½¿ç¨åéã --> |
| | | <springProperty scope="context" name="logs" source="logging.file-location" default="/var/log/myapp"/> |
| | | <property name="log.path" value="${logs}"/> |
| | | |
| | | <!--0. æ¥å¿æ ¼å¼åé¢è²æ¸²æ --> |
| | | <!-- å½©è²æ¥å¿ä¾èµç渲æç±» --> |
| | | <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> |
| | | <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> |
| | | <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> |
| | | <!-- å½©è²æ¥å¿æ ¼å¼ --> |
| | | <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){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}}"/> |
| | | |
| | | <!--1. è¾åºå°æ§å¶å°--> |
| | | <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
| | | <!--æ¤æ¥å¿appenderæ¯ä¸ºå¼å使ç¨ï¼åªé
ç½®æåºçº§å«ï¼æ§å¶å°è¾åºçæ¥å¿çº§å«æ¯å¤§äºæçäºæ¤çº§å«çæ¥å¿ä¿¡æ¯--> |
| | | <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
| | | <level>debug</level> |
| | | </filter> |
| | | <encoder> |
| | | <Pattern>${CONSOLE_LOG_PATTERN}</Pattern> |
| | | <!-- 设置å符é --> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | |
| | | <!--2. è¾åºå°ææ¡£--> |
| | | <!-- 2.1 level为 DEBUG æ¥å¿ï¼æ¶é´æ»å¨è¾åº --> |
| | | <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- æ£å¨è®°å½çæ¥å¿ææ¡£çè·¯å¾åææ¡£å --> |
| | | <file>${log.path}/debug.log</file> |
| | | <!--æ¥å¿ææ¡£è¾åºæ ¼å¼--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 设置å符é --> |
| | | </encoder> |
| | | <!-- æ¥å¿è®°å½å¨çæ»å¨çç¥ï¼ææ¥æï¼æå¤§å°è®°å½ --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- æ¥å¿å½æ¡£ --> |
| | | <fileNamePattern>${log.path}/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--æ¥å¿ææ¡£ä¿ç天æ°--> |
| | | <maxHistory>60</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- æ¤æ¥å¿ææ¡£åªè®°å½debug级å«ç --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>debug</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.2 level为 INFO æ¥å¿ï¼æ¶é´æ»å¨è¾åº --> |
| | | <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- æ£å¨è®°å½çæ¥å¿ææ¡£çè·¯å¾åææ¡£å --> |
| | | <file>${log.path}/info.log</file> |
| | | <!--æ¥å¿ææ¡£è¾åºæ ¼å¼--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | <!-- æ¥å¿è®°å½å¨çæ»å¨çç¥ï¼ææ¥æï¼æå¤§å°è®°å½ --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- æ¯å¤©æ¥å¿å½æ¡£è·¯å¾ä»¥åæ ¼å¼ --> |
| | | <fileNamePattern>${log.path}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--æ¥å¿ææ¡£ä¿ç天æ°--> |
| | | <maxHistory>60</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- æ¤æ¥å¿ææ¡£åªè®°å½info级å«ç --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>info</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.3 level为 WARN æ¥å¿ï¼æ¶é´æ»å¨è¾åº --> |
| | | <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- æ£å¨è®°å½çæ¥å¿ææ¡£çè·¯å¾åææ¡£å --> |
| | | <file>${log.path}/warn.log</file> |
| | | <!--æ¥å¿ææ¡£è¾åºæ ¼å¼--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- æ¤å¤è®¾ç½®å符é --> |
| | | </encoder> |
| | | <!-- æ¥å¿è®°å½å¨çæ»å¨çç¥ï¼ææ¥æï¼æå¤§å°è®°å½ --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--æ¥å¿ææ¡£ä¿ç天æ°--> |
| | | <maxHistory>60</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- æ¤æ¥å¿ææ¡£åªè®°å½warn级å«ç --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>warn</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.4 level为 ERROR æ¥å¿ï¼æ¶é´æ»å¨è¾åº --> |
| | | <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- æ£å¨è®°å½çæ¥å¿ææ¡£çè·¯å¾åææ¡£å --> |
| | | <file>${log.path}/error.log</file> |
| | | <!--æ¥å¿ææ¡£è¾åºæ ¼å¼--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- æ¤å¤è®¾ç½®å符é --> |
| | | </encoder> |
| | | <!-- æ¥å¿è®°å½å¨çæ»å¨çç¥ï¼ææ¥æï¼æå¤§å°è®°å½ --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--æ¥å¿ææ¡£ä¿ç天æ°--> |
| | | <maxHistory>60</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- æ¤æ¥å¿ææ¡£åªè®°å½ERROR级å«ç --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>ERROR</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.5 ææ é¤äºDEBUG级å«çå
¶å®é«äºDEBUGç æ¥å¿ï¼è®°å½å°ä¸ä¸ªæä»¶ --> |
| | | <appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- æ£å¨è®°å½çæ¥å¿ææ¡£çè·¯å¾åææ¡£å --> |
| | | <file>${log.path}/all.log</file> |
| | | <!--æ¥å¿ææ¡£è¾åºæ ¼å¼--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- æ¤å¤è®¾ç½®å符é --> |
| | | </encoder> |
| | | <!-- æ¥å¿è®°å½å¨çæ»å¨çç¥ï¼ææ¥æï¼æå¤§å°è®°å½ --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/all-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--æ¥å¿ææ¡£ä¿ç天æ°--> |
| | | <maxHistory>60</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- æ¤æ¥å¿ææ¡£è®°å½é¤äºDEBUG级å«çå
¶å®é«äºDEBUGç --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>DEBUG</level> |
| | | <onMatch>DENY</onMatch> |
| | | <onMismatch>ACCEPT</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- |
| | | <logger>ç¨æ¥è®¾ç½®æä¸ä¸ªå
æè
å
·ä½çæä¸ä¸ªç±»çæ¥å¿æå°çº§å«ã |
| | | 以åæå®<appender>ã<logger>ä»
æä¸ä¸ªname屿§ï¼ |
| | | ä¸ä¸ªå¯éçlevelåä¸ä¸ªå¯éçaddtivity屿§ã |
| | | name:ç¨æ¥æå®åæ¤logger约æçæä¸ä¸ªå
æè
å
·ä½çæä¸ä¸ªç±»ã |
| | | level:ç¨æ¥è®¾ç½®æå°çº§å«ï¼å¤§å°åæ å
³ï¼TRACE, DEBUG, INFO, WARN, ERROR, ALL å OFFï¼ |
| | | è¿æä¸ä¸ªç¹æ®å¼INHERITEDæè
åä¹è¯NULLï¼ä»£è¡¨å¼ºå¶æ§è¡ä¸çº§ç级å«ã |
| | | 妿æªè®¾ç½®æ¤å±æ§ï¼é£ä¹å½åloggerå°ä¼ç»§æ¿ä¸çº§ç级å«ã |
| | | addtivity:æ¯å¦åä¸çº§loggerä¼ éæå°ä¿¡æ¯ãé»è®¤æ¯trueã |
| | | <logger name="org.springframework.web" level="info"/> |
| | | <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/> |
| | | --> |
| | | |
| | | <!-- |
| | | 使ç¨mybatisçæ¶åï¼sqlè¯å¥æ¯debug䏿伿å°ï¼èè¿éæä»¬åªé
ç½®äºinfoï¼æä»¥æ³è¦æ¥çsqlè¯å¥çè¯ï¼æä»¥ä¸ä¸¤ç§æä½ï¼ |
| | | 第ä¸ç§æ<root level="info">æ¹æ<root level="DEBUG">è¿æ ·å°±ä¼æå°sqlï¼ä¸è¿è¿æ ·æ¥å¿é£è¾¹ä¼åºç°å¾å¤å
¶ä»æ¶æ¯ |
| | | 第äºç§å°±æ¯åç¬ç»daoä¸ç®å½é
ç½®debug模å¼ï¼ä»£ç å¦ä¸ï¼è¿æ ·é
ç½®sqlè¯å¥ä¼æå°ï¼å
¶ä»è¿æ¯æ£å¸¸info级å«ï¼ |
| | | ãlogging.level.org.mybatis=debug logging.level.dao=debugã |
| | | --> |
| | | |
| | | <!-- |
| | | rootèç¹æ¯å¿
éèç¹ï¼ç¨æ¥æå®æåºç¡çæ¥å¿è¾åºçº§å«ï¼åªæä¸ä¸ªlevel屿§ |
| | | level:ç¨æ¥è®¾ç½®æå°çº§å«ï¼å¤§å°åæ å
³ï¼TRACE, DEBUG, INFO, WARN, ERROR, ALL å OFFï¼ |
| | | ä¸è½è®¾ç½®ä¸ºINHERITEDæè
åä¹è¯NULLãé»è®¤æ¯DEBUG |
| | | å¯ä»¥å
å«é¶ä¸ªæå¤ä¸ªå
ç´ ï¼æ è¯è¿ä¸ªappenderå°ä¼æ·»å å°è¿ä¸ªloggerã |
| | | --> |
| | | |
| | | |
| | | |
| | | |
| | | <!-- 4 æç»ççç¥ï¼ |
| | | åºæ¬çç¥(root级) + æ ¹æ®profileå¨å¯å¨æ¶, loggeræ ç¾ä¸å®å¶åpackageæ¥å¿çº§å«(ä¼å
级é«äºä¸é¢çroot级)--> |
| | | <springProfile name="dev"> |
| | | <root level="info"> |
| | | <appender-ref ref="CONSOLE" /> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.yuanchu.limslaboratory.SysApplication" level="debug"/> <!-- å¼åç¯å¢, æå®æå
æ¥å¿ä¸ºdebug级 --> |
| | | </springProfile> |
| | | |
| | | <springProfile name="test"> |
| | | <root level="info"> |
| | | <appender-ref ref="CONSOLE" /> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.yuanchu.limslaboratory.SysApplication" level="info"/> <!-- æµè¯ç¯å¢, æå®æå
æ¥å¿ä¸ºinfo级 --> |
| | | </springProfile> |
| | | |
| | | <springProfile name="prod"> |
| | | <root level="info"> |
| | | <!-- ç产ç¯å¢æå¥½ä¸é
ç½®consoleåæä»¶ --> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.yuanchu.limslaboratory" level="warn"/> <!-- ç产ç¯å¢, æå®æå
æ¥å¿ä¸ºwarn级 --> |
| | | <logger name="com.yuanchu.limslaboratory.SysApplication" level="info"/> <!-- ç¹å®æä¸ªç±»æå°infoæ¥å¿, æ¯å¦applicationå¯å¨æååçæç¤ºè¯ --> |
| | | </springProfile> |
| | | |
| | | </configuration> |