Logback日志自定义配置
即便如此,还是有很多想要的东西显示不了,这时就可自定义配置。比如我希望每条日志有个uuid类型的id,希望每条日志能打印ip地址
一、新建两个配置类,重写convert方法
package cn.jiashubing.config.logback;
import ch.qos.logback.classic.pattern.ClassicConverter;
import ch.qos.logback.classic.spi.ILoggingEvent;
import java.util.UUID;
public class LogIdConfig extends ClassicConverter {
@Override
public String convert(ILoggingEvent event) {
return UUID.randomUUID().toString().replaceAll("-", "");
}
}
package cn.jiashubing.config.logback;
import ch.qos.logback.classic.pattern.ClassicConverter;
import ch.qos.logback.classic.spi.ILoggingEvent;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class IPLogConfig extends ClassicConverter {
@Override
public String convert(ILoggingEvent event) {
try {
return InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
}
return null;
}
}
二、配置日志文件
<property name="log.path" value="./logs"/>
<conversionRule conversionWord="ip" converterClass="cn.jiashubing.config.logback.IPLogConfig" />
<conversionRule conversionWord="logid" converterClass="cn.jiashubing.config.logback.LogIdConfig" />
<appender name="ROLLING-FILE-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/errorlog.log</file>
<encoder>
<pattern>[loglevel=%level] [timestamp=%d{yyyy-MM-dd HH:mm:ss}] [logid=%logid] [ip=%ip] [cmd=%msg] \n</pattern>
</encoder>
...
</appender>
来源:CSDN
作者:snail_bi
链接:https://blog.csdn.net/snail_bi/article/details/103497520