在日常的工作中,日志是系统一个很不起眼但又非常重要的模块,一个好的系统,日志的配置要需要考虑周全。通过消息中间件等工具,可以实现集中的日志管理,但是对于一些查询类交易,日志信息长度很长,严重影响日志系统的处理和一定程度上的系统性能。设置日志输出的大小兼顾日志发挥的作用,但又不至于带来副作用是一个很重要的配置项。具体的pattern配置项如下:
%X{logthreadId} [%date{yyyy-MM-dd HH:mm:ss.SSS}] %level %logger{30} %replace(%msg){'^(.{5000}).*$', '$1'} %n
通过配置%replace(%msg){'^(.{5000}).*$', '$1'},这样打印出日志信息,不超过5000个字符。
当然也可以通过继承日志信息的转化器(ClassicConverter
)来重写日志处理方法,在方法中判断日志大小并截取的方式,但是需要新增加个类,同时还要将日志的转换器配置成自己实现的,有点繁琐。
参考:http://logback.qos.ch/manual/layouts.html#formatModifiers