<?xml version="1.0" encoding="UTF-8"?>
< configuration scan = " true" scanPeriod = " 10 seconds" > < contextName> logback</ contextName> < property name = " log.path" value = " /data/rdss/logs/back" /> < springProperty scope = " context" name = " logstash.server-addr" source = " logstash.server-addr" /> < 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}}" /> < appender name = " CONSOLE" class = " ch.qos.logback.core.ConsoleAppender" > < filter class = " ch.qos.logback.classic.filter.ThresholdFilter" > < level> debug</ level> </ filter> < encoder> < Pattern> ${CONSOLE_LOG_PATTERN}</ Pattern> < charset> UTF-8</ charset> </ encoder> </ appender> < appender name = " DEBUG_FILE" class = " ch.qos.logback.core.rolling.RollingFileAppender" > < file> ${log.path}/log_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/log-debug-%d{yyyy-MM-dd}.%i.log</ fileNamePattern> < timeBasedFileNamingAndTriggeringPolicy class = " ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" > < maxFileSize> 100MB</ maxFileSize> </ timeBasedFileNamingAndTriggeringPolicy> < maxHistory> 7</ maxHistory> < totalSizeCap> 2GB</ totalSizeCap> </ rollingPolicy> < filter class = " ch.qos.logback.classic.filter.LevelFilter" > < level> debug</ level> < onMatch> ACCEPT</ onMatch> < onMismatch> DENY</ onMismatch> </ filter> </ appender> < appender name = " INFO_FILE" class = " ch.qos.logback.core.rolling.RollingFileAppender" > < file> ${log.path}/log_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/log-info-%d{yyyy-MM-dd}.%i.log</ fileNamePattern> < timeBasedFileNamingAndTriggeringPolicy class = " ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" > < maxFileSize> 100MB</ maxFileSize> </ timeBasedFileNamingAndTriggeringPolicy> < maxHistory> 7</ maxHistory> < totalSizeCap> 2GB</ totalSizeCap> </ rollingPolicy> < filter class = " ch.qos.logback.classic.filter.LevelFilter" > < level> info</ level> < onMatch> ACCEPT</ onMatch> < onMismatch> DENY</ onMismatch> </ filter> </ appender> < appender name = " WARN_FILE" class = " ch.qos.logback.core.rolling.RollingFileAppender" > < file> ${log.path}/log_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/log-warn-%d{yyyy-MM-dd}.%i.log</ fileNamePattern> < timeBasedFileNamingAndTriggeringPolicy class = " ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" > < maxFileSize> 100MB</ maxFileSize> </ timeBasedFileNamingAndTriggeringPolicy> < maxHistory> 7</ maxHistory> < totalSizeCap> 2GB</ totalSizeCap> </ rollingPolicy> < filter class = " ch.qos.logback.classic.filter.LevelFilter" > < level> warn</ level> < onMatch> ACCEPT</ onMatch> < onMismatch> DENY</ onMismatch> </ filter> </ appender> < appender name = " ERROR_FILE" class = " ch.qos.logback.core.rolling.RollingFileAppender" > < file> ${log.path}/log_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/log-error-%d{yyyy-MM-dd}.%i.log</ fileNamePattern> < timeBasedFileNamingAndTriggeringPolicy class = " ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" > < maxFileSize> 100MB</ maxFileSize> </ timeBasedFileNamingAndTriggeringPolicy> < maxHistory> 7</ maxHistory> < totalSizeCap> 2GB</ totalSizeCap> </ rollingPolicy> < filter class = " ch.qos.logback.classic.filter.LevelFilter" > < level> ERROR</ level> < onMatch> ACCEPT</ onMatch> < onMismatch> DENY</ onMismatch> </ filter> </ appender> < springProfile name = " dev" > < logger name = " com.nmys.view" level = " debug" /> </ springProfile> < 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" /> </ root> </ configuration>