我在我们的应用程序中使用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
}
答案 0 :(得分:1)
这是由于&#34; ConversionPattern&#34; appender布局的参数:%-5p
令牌指示log4j在至少5个字符上填充日志级别(在你的情况下为INFO),用空格填充。因此,如果您从转化模式中删除%-5p
,则无法在日志条目中看到INFO。
这就是说,我不知道-
(破折号)的来源。您确定您显示的日志条目实际上是您日志文件中的日志条目吗?例如,模式的[%c{1}]
部分应该导致log4j在方括号之间打印类名,但我在这里看不到。