Logback日志基础及自定义配置代码实例
Logback日志基础配置
logback日志配置有很多介绍,但是有几个非常基础的,容易忽略的。下面是最简单的一个配置,注意加粗的描述
${log.path}/errorlog.log %d{yyyy-MM-ddHH:mm:ss.SSS}[%thread]%-5level%logger{50}-%msg%n ${log.path}/errorlog.%d{yyyyMMdd}.log.%i.gz 4096MB 365
在规范里,行结束符往往采用Linux结束符(\n),而不是上面那样的%n。这个\n,使用txt文档查看,并没有换行
使用%的正则还有许许多多,比如如下:
再比如:%contextName作用是显示主机名
Logback日志自定义配置
即便如此,还是有很多想要的东西显示不了,这时就可自定义配置。比如我希望每条日志有个uuid类型的id,希望每条日志能打印ip地址
一、新建两个配置类,重写convert方法
packagecn.jiashubing.config.logback; importch.qos.logback.classic.pattern.ClassicConverter; importch.qos.logback.classic.spi.ILoggingEvent; importjava.util.UUID; publicclassLogIdConfigextendsClassicConverter{ @Override publicStringconvert(ILoggingEventevent){ returnUUID.randomUUID().toString().replaceAll("-",""); } } packagecn.jiashubing.config.logback; importch.qos.logback.classic.pattern.ClassicConverter; importch.qos.logback.classic.spi.ILoggingEvent; importjava.net.InetAddress; importjava.net.UnknownHostException; publicclassIPLogConfigextendsClassicConverter{ @Override publicStringconvert(ILoggingEventevent){ try{ returnInetAddress.getLocalHost().getHostAddress(); }catch(UnknownHostExceptione){ e.printStackTrace(); } returnnull; } }
二、配置日志文件
${log.path}/errorlog.log ... [loglevel=%level][timestamp=%d{yyyy-MM-ddHH:mm:ss}][logid=%logid][ip=%ip][cmd=%msg]\n
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。