我正在使用Logback,当我记录用户参数时,我需要避免CRLF(回车和换行).
我试图在静态地图PatternLayout.defaultConverterMap上添加我的类,它扩展了ClassicConverter,但它没有用.
谢谢,
您应该创建自定义布局,如 logback documentation中所述自定义布局:
package com.foo.bar; import ch.qos.logback.classic.PatternLayout; import ch.qos.logback.classic.spi.ILoggingEvent; public class RemoveCRLFLayout extends PatternLayout { @Override public String doLayout(ILoggingEvent event) { return super.doLayout(event).replaceAll("(\\r|\\n)", ""); } }
Logback配置:
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"> <layout class="com.foo.bar.RemoveCRLFLayout"> <pattern>%d %t %-5p %logger{16} - %m%n</pattern> </layout> </encoder>
精彩评论