logback之使用demo
Posted zengnansheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logback之使用demo相关的知识,希望对你有一定的参考价值。
增加maven配置
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.0</version> </dependency>
logback.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false" scan="true" scanPeriod="30 minutes"> <property name="logDir" value="D:/logs" /> <!-- 打印到控制台 --> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level-%logger{5} - %msg%n</pattern> </encoder> </appender> <appender name="debuglog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${logDir}/debug/%d{yyyy-MM-dd}.log.zip </fileNamePattern> <!-- 限制文件最大保存时间为15天; 15*24=360 --> <maxHistory>360</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- 当文件大小超过60M时触发滚动,这里设置60M --> <maxFileSize>60MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level-%logger{5} - %msg%n</pattern> </encoder> </appender> <appender name="infolog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <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>${logDir}/info/%d{yyyy-MM-dd}.log.zip </fileNamePattern> <!-- 限制文件最大保存时间为15天; 15*24=360 --> <maxHistory>360</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- 当文件大小超过60M时触发滚动,这里设置60M --> <maxFileSize>60MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level-%logger{5} - %msg%n</pattern> </encoder> </appender> <appender name="errorlog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${logDir}/error/%d{yyyy-MM-dd}.log.zip </fileNamePattern> <!-- 限制文件最大保存时间为15天; 15*24=360 --> <maxHistory>360</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- 当文件大小超过60M时触发滚动,这里设置60M --> <maxFileSize>60MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level-%logger{5} - %msg%n</pattern> </encoder> </appender> <!-- 异步日志配置 --> <appender name="infolog_async" class="ch.qos.logback.classic.AsyncAppender"> <discardingThreshold>5000</discardingThreshold> <queueSize>50000</queueSize> <appender-ref ref="infolog" /> </appender> <appender name="errorlog_async" class="ch.qos.logback.classic.AsyncAppender"> <discardingThreshold>5000</discardingThreshold> <queueSize>50000</queueSize> <appender-ref ref="errorlog" /> </appender> <root level="debug"> <appender-ref ref="stdout" /> <appender-ref ref="debuglog" /> <appender-ref ref="infolog_async" /> <appender-ref ref="errorlog_async" /> </root> </configuration>
package com.zns; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Test1 { private static final Logger logger = LoggerFactory.getLogger(Test1.class); public static void main(String[] args) { logger.debug("hello world"); logger.info("hello world"); logger.error("hello world"); } }
以上是关于logback之使用demo的主要内容,如果未能解决你的问题,请参考以下文章
一般人不敢动系列之—基于logback的日志“规范”和“脱敏”
[vscode]--HTML代码片段(基础版,reactvuejquery)