自定义输出log4j

时间:2016-11-30 09:23:44

标签: java log4j

我尝试自定义log4j的输出,为此我使用 org.apache.log4j.PatternLayout

我目前的输出是:

2016-11-30 10:04:42,928 INFO [org.mobicents.smsc.library.CdrGenerator] OrangeSmsc,18004,null,null,null,id:0000018004 sub:00,,21

我希望它看起来像这样:

2016-11-30 10:04:42 OrangeSmsc,18004,null,null,null,id:0000018004 sub:00,,21

为此我使用这种模式:

logout() {
    this.loadUser().unsubscribe();
    this.auth.logout();
    this.userData = null;
    this.isLoggedIn = false;
    this.router.navigate(['']);
}

但它不起作用。

完整的追加者描述:

<layout class="org.apache.log4j.PatternLayout"> 
    <param name="ConversionPattern" value="%d{yyyy-MM-dd} %m%n"/> 
</layout> 

1 个答案:

答案 0 :(得分:2)

我能够使用您提到的模式运行log4j日志。这没有问题。只有在评论以下行

之前它才能起作用
<param name="DatePattern" value="'.'yyyy-MM-dd" />

这是最后的appender看起来像。 (请注意,我已删除jboss记录器错误处理程序)

<appender name="CDR" class="org.apache.log4j.RollingFileAppender">
    <!-- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" /> -->
    <param name="File" value="cdr.log" />
    <param name="Append" value="true" />
    <param name="Threshold" value="DEBUG" />
    <!-- 
    <param name="DatePattern" value="'.'yyyy-MM-dd" /> -->
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd} %m%n" />
    </layout>
</appender>

这是我在java类上添加的日志。

logger.debug("Log4j appender configuration is successful !!");

这是我使用的附录,以下是输出文件内容。

2016-11-30 Log4j appender configuration is successful !!