我是靠谱客的博主 友好飞机,最近开发中收集的这篇文章主要介绍logback,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

依赖

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>

加载自定义位置的配置文件

通过代码加载

LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
context.reset();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
configurator.doConfigure(<配置文件路径>);
StatusPrinter.printInCaseOfErrorsOrWarnings(context);

通过VM参数加载

-Dlogback.configurationFile=<配置文件路径>

springboot加载

logging.config = <配置文件路径>

配置文件

configuration
scan:开启热加载,默认为true
scanPeriod:热加载时间间隔,默认为60 seconds
debug:打印出logback内部日志信息,默认为false

Property
自定义变量

timestamp
定义时间戳

<?xml version="1.0" encoding="utf-8" ?>
<configuration scan="" scanPeriod="" debug="">
<property name="" value="" />
<timestamp key="" datePattern="" />
<appender name="" class=""></appender>
<root level="">
<appender-ref ref="" />
</root>
</configuration>

输出到控制台

<appender name="" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern></pattern>
</encoder>
<target></target>
</appender>

输出到文件

<appender name="" class="ch.qos.logback.core.FileAppender">
<file></file>
<append>true</append>
<encoder>
<pattern></pattern>
<charset class="java.nio.charset.Charset">UTF-8</charset>
</encoder>
<prudent>false</prudent>
<filter></filter>
</appender>

滚动日志文件

<appender name="" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file></file>
<encoder>
<pattern></pattern>
<charset class="java.nio.charset.Charset">UTF-8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern></fileNamePattern>
<maxHistory></maxHistory>
</rollingPolicy>
<filter></filter>
</appender>

输出格式

%p:输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r:输出自应用启动到输出该日志讯息所耗费的毫秒数
%t:输出产生该日志事件的线程名
%f:输出日志讯息所属的类别的类别名
%c:输出日志讯息所属的类的全名
%d:输出日志时间点的日期或时间,指定格式的方式: %d{yyyy-MM-dd HH:mm:ss}
%L:输出日志事件的发生位置,即输出日志讯息的语句在他所在类别的第几行。
%m:输出代码中指定的讯息,如log(message)中的message
%n:输出一个换行符号
%<颜色代码>():指定颜色输出

过滤器

返回DENY,日志将立即被抛弃不再经过其他过滤器;
返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;
返回ACCEPT,日志会被立即处理,不再经过剩余过滤器。

日志级别过滤器

<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level></level>
<onMatch></onMatch>
<onMismatch></onMismatch>
</filter>

最后

以上就是友好飞机为你收集整理的logback的全部内容,希望文章能够帮你解决logback所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部