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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值