Karthikeyan Sukkoor
Karthikeyan Sukkoor

Reputation: 998

log4j : How to avoid prefix value in log file?

I am using log4j in our application to log our customer activities into the log files, in log file I am getting prefix value as "INFO - ", How can I avoid this prefix value in my log file?

My log4jconf.xml is

<?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>

Sample Entry like as following

   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

Code :

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
    }

Upvotes: 0

Views: 1142

Answers (1)

Lolo
Lolo

Reputation: 4347

This is due to the "ConversionPattern" parameter of the appender's layout: the %-5p token instructs log4j to rpint the logging level (INFO in your case) on a minimum of 5 characters, padded with spaces. Thus, if you remove the %-5p from the conversion pattern, you won't see the INFO in your log entries.

This being said, I don't see where the - (dash) comes from. Are you sure that the log entries you showed are really the ones you have in your log file? For instance the [%c{1}] part of the pattern should cause log4j to print the class name between square braces, but I don't see that here.

Upvotes: 1

Related Questions