记录一下 logback 的配置,方便以后 copy paste
1. maven 坐标
<properties> <slf4j.version>1.7.19</slf4j.version> <logback.version>1.1.3</logback.version> </properties> <!-- 日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency>
然后就是在 classpath 目录下新建 logback.xml,模版如下:
2. logback.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="false" debug="false"> <property name="APP_NAME" value="tookit"/> <property name="LOG_HOME" value="logs"/> <contextName>${APP_NAME}</contextName> <timestamp key="datetime" datePattern="yyyy-MM-dd HH:mm:ss" /> <!-- 控制台输出所有日志 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!-- <pattern>%-5level | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger - %msg%n</pattern> --> <!-- 此种格式会打印出比较美观的超链接日志,包含行号方便调试,不建议生产环境使用 --> <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %5p [%t] %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''} - %m%n</pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- 打印所有非ERROR级别日志 --> <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--当天生成的日志文件名--> <file>${LOG_HOME}/${APP_NAME}.log</file> <!-- 每隔一天将昨天的日志文件转换为一个新的压缩文件,最多保存30天。 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_HOME}/${APP_NAME}.%d{yyyy-MM-dd}.log.gz</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>%-5level | %d{yyyy-MM-dd HH:mm:ss.SSS} - %logger - %msg%n</pattern> <charset>UTF-8</charset> </encoder> <!-- 表示非ERROR级别的日志均接收 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>DENY</onMatch> <onMismatch>ACCEPT</onMismatch> </filter> </appender> <!-- 打印所有ERROR级别日志 --> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--当天生成的日志文件名--> <file>${LOG_HOME}/${APP_NAME}.error.log</file> <!-- 每隔一天将昨天的日志文件转换为一个新的压缩文件,最多保存30天。 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_HOME}/${APP_NAME}.error.%d{yyyy-MM-dd}.log.gz</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>%-5level | %d{yyyy-MM-dd HH:mm:ss.SSS} - %logger - %msg%n</pattern> <charset>UTF-8</charset> </encoder> <!-- 表示只接收ERROR级别的日志 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- root的策略一般指的是打印日志的级别,打印到哪(使用何种打印器) --> <root level="INFO"> <appender-ref ref="STDOUT"/> <appender-ref ref="INFO_FILE"/> <appender-ref ref="ERROR_FILE"/> </root> <!-- level="INFO"表示org.springframework包下的日志只打印INFO级别以上的,以此级别为准。 additivity="false" 表示不使用root的打印策略,additivity的值默认为true,即默认继承root打印策略。显然,因为没有打印器,此处Spring的日志将不会打印。 --> <logger name="org.springframework" level="INFO" additivity="false"/> </configuration>
3. 使用也写了吧 好 copy。。。
import org.slf4j.Logger; import org.slf4j.LoggerFactory; final static Logger logger = LoggerFactory.getLogger(DefaultPluginRegisterFactory.class);
鼠标掉地上了 睡觉了。。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于