log4j:如何避免日志文件中的前缀值?

时间:2014-07-24 17:31:56

标签: logging log4j

我在我们的应用程序中使用log4j将客户活动记录到日志文件中, 在日志文件中我得到前缀值为“INFO - ”,如何避免此前缀值 我的日志文件?

我的log4jconf.xml是

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
    <param name="Threshold" value="INFO"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d
         %-5p  [%c{1}] %m %n"/>
    </layout>
</appender>
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="Threshold" value="INFO"/>
    <param name="File" value="sample.log"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d
            %-5p  [%c{1}] %m %n"/>
    </layout>
</appender>
<logger name="CPI810_RCM_LOGGER" additivity="false">
    <level value="INFO"/>
    <appender-ref ref="consoleAppender"/>       
</logger>
  </log4j:configuration>

示例条目如下所示

   INFO - loginId|correlationId|status|firstName|middleName|lastName|resourceRole|access
   INFO - loginId|correlationId|status|firstName|middleName|lastName|resourceRole|access
   INFO - loginId|correlationId|status|firstName|middleName|lastName|resourceRole|access

代码:

cat = Category.getInstance(catname);       
    PatternLayout layout = null;
    FileAppender appender =  null;
    try {
        cat = Category.getInstance(catname);            
        layout = new PatternLayout("%m %n");

        appender = new FileAppender(layout,fileAppender,true);
        cat.addAppender(appender); 

    } catch (Exception e) {
        // TODO: handle exception
    }

1 个答案:

答案 0 :(得分:1)

这是由于&#34; ConversionPattern&#34; appender布局的参数:%-5p令牌指示log4j在至少5个字符上填充日志级别(在你的情况下为INFO),用空格填充。因此,如果您从转化模式中删除%-5p,则无法在日志条目中看到INFO。

这就是说,我不知道-(破折号)的来源。您确定您显示的日志条目实际上是您日志文件中的日志条目吗?例如,模式的[%c{1}]部分应该导致log4j在方括号之间打印类名,但我在这里看不到。