如何定义自定义 log4j2 日志记录类?

时间:2021-06-10 08:31:48

标签: java xml configuration log4j2

我想要一个自定义的日志格式,所以我实现了以下类:

public class LoggingLayout extends AbstractStringLayout {

    public LoggingLayout() {
        super(StandardCharsets.UTF_8);
    }



    @Override
    public String toSerializable(LogEvent event) {
        // Create formatted string here...
    }
}

但是我无法使配置正常工作。到此为止:

<Configuration strict="true" xmlns="http://logging.apache.org/log4j/2.0/config"
           packages="com.path.to.loggingDir">

<Appenders>
    <Appender type="Console" name="STDOUT">
        <Layout type="LoggingLayout" />
    </Appender>
</Appenders>

<Loggers>
    <Root level="info">
        <AppenderRef ref="STDOUT" />
    </Root>
</Loggers>

我定义了包含自定义 LoggingLayout 的包,但即便如此,我还是收到了错误:

main ERROR Console contains an invalid element or attribute "LoggingLayout"

这是为什么?

编辑:请注意,我使用的是 STRICT xml。到目前为止我看到的所有其他答案都没有使用严格的 xml,所以这个问题不是重复的。

0 个答案:

没有答案