前言
项目碰到了不能读logback配置文件,因为配置文件是第一次启动读的,然后我程序运行时要动态写。
比如这种场景:根据不同的业务id,生成不同的日志文件。
因为动态场景,无法写配置文件,我们只能通过调用自己输出,然后自己输出还得写文件,为什么不借助logback的api去写文件呢?毕竟别人开源的代码比我们牛逼!
写代码之前,从官网看一下logback工作原理(为了让你们感觉我是看懂了原理图,手撸出来的代码),然后当然是看不懂的!233。
还是看我的代码实现吧!
实现
新建一个类LoggerBuilder.class
package com.hyperdai.DcServer.utils;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
import ch.qos.logback.core.ConsoleAppender;
import ch.qos.logback.core.rolling.RollingFileAppender;
import ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy;
import ch.qos.logback.core.util.FileSi