Logback日志基础及自定义配置代码实例

网友投稿 324 2022-11-21


Logback日志基础及自定义配置代码实例

Logback日志基础配置

logback日志配置有很多介绍,但是有几个非常基础的,容易忽略的。下面是最简单的一个配置,注意加粗的描述

${log.path}/errorlog.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

${log.pat h}/errorlog.%d{yyyyMMdd}.log.%i.gz

4096MB

365

   

在规范里,行结束符往往采用linux结束符(\n),而不是上面那样的 %n。 这个\n ,使用txt文档查看,并没有换行

使用%的正则还有许许多多,比如如下:

再比如:%contextName 作用是 显示主机名

LGSjsbogback日志自定义配置

即便如此,还是有很多想要的东西显示不了,这时就可自定义配置。比如我希望每条日志有个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;

}

}

二、配置日志文件

       

${log.path}/errorlog.log       

           

[loglevel=%level] [timestamp=%d{yyyy-MM-dd HH:mm:ss}] [logid=%logid] [ip=%ip] [cmd=%msg] \n       

...


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java8时间 yyyyMMddHHmmss格式转为日期的代码
下一篇:Java数字和字符串拼接原理及案例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~