Logback日志配置
2017-04-25 08:12
218 查看
<configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml"/> <include resource="org/springframework/boot/logging/logback/console-appender.xml"/> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%-5level] [%class:%line] - %m%n</pattern> </encoder> </appender> <appender name="ERROR-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>${user.home}/logs/carrier/carrier.error.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!-- each file should be at most 300MB, keep 30 days worth of history, but at most 30GB --> <maxFileSize>300MB</maxFileSize> <maxHistory>30</maxHistory> <totalSizeCap>30GB</totalSizeCap> </rollingPolicy> </appender> <appender name="INFO-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder charset="UTF-8"> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>${user.home}/logs/carrier/carrier.info.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!-- each file should be at most 300MB, keep 30 days worth of history, but at most 30GB --> <maxFileSize>300MB</maxFileSize> <maxHistory>30</maxHistory> <totalSizeCap>30GB</totalSizeCap> </rollingPolicy> </appender> <springProfile name="dev"> <logger name="com.zto" level="DEBUG" additivity="false"> <appender-ref ref="STDOUT" /> </logger> <root level="INFO"> <appender-ref ref="STDOUT" /> </root> </springProfile> <springProfile name="test"> <logger name="com.zto" level="DEBUG" additivity="false"> <appender-ref ref="ERROR-OUT" /> <appender-ref ref="INFO-OUT" /> </logger> <root level="INFO"> <appender-ref ref="INFO-OUT" /> </root> </springProfile> <springProfile name="prod"> <logger name="com.zto" level="DEBUG" additivity="false"> <appender-ref ref="ERROR-OUT" /> <appender-ref ref="INFO-OUT" /> </logger> <root level="INFO"> <appender-ref ref="INFO-OUT" /> </root> </springPro 4000 file> <logger name="org.springframework.web" level="INFO"/> </configuration>
异步日志:
application.properties:
logging.file=${user.home}/logs/consumer.log
logback-spring.xml:
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}" />
<include
resource="org/springframework/boot/logging/logback/console-appender.xml" />
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>1</maxHistory>
</rollingPolicy>
</appender>
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<Pattern>${FILE_LOG_PATTERN}</Pattern>
</encoder>
<file>${user.home}/logs/consumer.error.log</file>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<!-- 按天来回滚,如果需要按小时来回滚,则设置为{yyyy-MM-dd_HH} -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${user.home}/logs/consumer.error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 如果按天来回滚,则最大保存时间为maxHistory天,maxHistory天之前的都将被清理掉 -->
<maxHistory>1</maxHistory>
</rollingPolicy>
</appender>
<appender name="ASYNC_ERROR_FILE" class="ch.qos.logback.classic.AsyncAppender">
<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
<discardingThreshold>0</discardingThreshold>
<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
<queueSize>10000</queueSize>
<!-- 添加附加的appender,最多只能添加一个 -->
<appender-ref ref="ERROR_FILE" />
</appender>
<appender name="RollingFileASYNC" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold>0</discardingThreshold>
<queueSize>2048</queueSize>
<appender-ref ref="FILE" />
</appender>
<root level="INFO">
<appender-ref ref="RollingFileASYNC" />
<appender-ref ref="ASYNC_ERROR_FILE" />
<springProfile name="dev">
<appender-ref ref="CONSOLE" />
</springProfile>
</root>
<logger name="org.springframework.web" level="INFO" />
</configuration>
不同类输出不同日志:
private static final Logger log = LoggerFactory.getLogger("monitor");
<appender name="file-monitor" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <Pattern>${FILE_LOG_PATTERN}</Pattern> </encoder> <file>${user.home}/logs/service.log</file> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${user.home}/logs/service.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>2</maxHistory> </rollingPolicy> </appender> <appender name="RollingFileASYNC-MONITOR" class="ch.qos.logback.classic.AsyncAppender"> <discardingThreshold>0</discardingThreshold> <queueSize>2048</queueSize> <appender-ref ref="file-monitor" /> </appender> <logger name="monitor" additivity="false" level="INFO"> <appender-ref ref="RollingFileASYNC-MONITOR"/> </logger>
相关文章推荐
- 日志组件logback的介绍及配置使用方法(一)
- 日志组件logback的介绍及配置使用方法(一)
- 日志组件logback的介绍及配置使用方法(一)
- 日志组件logback的介绍及配置使用方法
- 日志组件logback的介绍及配置使用方法
- Logback日志系统配置攻略
- Logback日志系统配置攻略
- logback日志写入数据库的配置
- logback配置日志文件位置
- logback日志写入数据库的配置
- 日志组件logback的介绍及配置使用方法(二)
- 日志组件logback的介绍及配置使用方法
- 日志组件logback的介绍及配置使用方法(二)
- 日志组件logback的介绍及配置使用方法
- SLF4J+Logback 日志框架配置和使用
- 日志组件logback的介绍及配置使用方法(二)
- Logback日志系统配置攻略
- 日志组件logback的介绍及配置使用方法(一)
- Spring MVC中使用logback的日志配置
- 日志组件logback的介绍及配置使用方法