运维开发网

安全性 – 如何在Logback中避免CRLF(回车和换行) – CWE 117

运维开发网 https://www.qedev.com 2020-07-09 14:44 出处:网络 作者:运维开发网整理
我正在使用Logback,当我记录用户参数时,我需要避免CRLF(回车和换行). 我试图在静态地图PatternLayout.defaultConverterMap上添加我的类,它扩展了ClassicConverter,但它没有用. 谢谢, 您应该创建自定义布局,如 logback documentation中所述 自定义布局: package com.foo.bar; import ch.qo
我正在使用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>
0

精彩评论

暂无评论...
验证码 换一张
取 消