Layout of an appender (log4J)

Hello,,
iam creating a new appender file
log.addAppender(new RollingFileAppender(new SimpleLayout(),appenderFileName));
but iam not beeing able to set its layout as i want in a conversionLayout
anyone can help

This is more of a log4j problem than a J2EE SDK problem. Please ask the log4j forums, which you can find at http://logging.apache.org/site/mailing-lists.html .

Similar Messages

  • Jdeveloper, WLS and Log4j logging

    All,
    I want to route all the ADF application log messages to a log file using log4j.
    I have created a log4j.properties and put in the ViewController/src folder. The application finds that config file, and produces the desired output - so far, so good.
    Now I would like to route all the WLS logging using log4j.
    To first try it, I've opened the integrated WLS console, and set, under server/logging, that the log implementation uses log4j instead of jdk. I have also checked the "redirect stdout", "redirect stderr", and "logging bridge" check boxes.
    I've also:
    - included the wllog4j.jar and log4j-1.2.16.jar in the classpath (by editing the /home/semar/Oracle/Middleware/wlserver_10.3/common/bin/commEnv.sh file).
    - put a copy of log4j.properties also in the WLS path - which is, in my case: /home/semar/Oracle/Middleware/wlserver_10.3/server/bin
    - put the path of the log4j.properties in the WLS CLASSPATH (by editing the /home/semar/Oracle/Middleware/wlserver_10.3/common/bin/commEnv.sh file)
    I've then re-started the integrated wls, and now what happens is:
    - the log appender for my application is no more found (log4j complains that the appender is not configured)
    - no log file is produced/updated
    Am I missing something obvious here ? Where should I put the log4j.properties then ? Are other extra tasks I should perform, in order to get all the ADF and WLS logging routed through log4j, and configured using a single log4j property file ?
    I'm using WLS 10.3.5.0 and Jdeveloper 11g rel 2 11.1.2.1.0, running on a Linux OpenSuse 11.4
    Sergio.

    Still no joy.
    I have put the two JARs + log4j.properties into domain_root/lib folder.
    I have also modified the startWeblogic.sh by adding the following:
    JAVA_VM="${JAVA_VM} -Dlog4j.configuration=${DOMAIN_HOME}/lib/log4j.properties"
    export JAVA_VM
    Both the .jar files and the log4j.properties are in the classpath and in the java options of the WLS starting log.
    In my application I have:
    package logging;
    import org.apache.log4j.Logger;
    import...
    public class loggingBean {
    /* Get actual class name to be printed on */
    Logger log = Logger.getLogger(loggingBean.class.getName());
    public loggingBean () {
    System.out.println("hello from loggingBean constructor");
    //_logger.info("Creating a new instance");
    log.debug("Hello this is a debug message");
    log.info("Hello this is an info message");
    In the log4j.properties I have:
    # Define the root logger with appender file
    log = /tmp
    log4j.rootLogger = DEBUG, FILE
    # Define the file appender
    log4j.appender.FILE=org.apache.log4j.FileAppender
    log4j.appender.FILE.File=${log}/log.out
    # Define the layout for file appender
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.conversionPattern=%m%n
    # end of the log4j.properties
    And in the standard log file (nohup.out since I start the server with it):
    <11.04.2012 14:56 Uhr MESZ> <Notice> <Stdout> <BEA-000000> <hello from loggingBean constructor>
    <11.04.2012 14:56 Uhr MESZ> <Notice> <StdErr> <BEA-000000> <log4j:WARN No appenders could be found for logger (logging.loggingBean).>
    <11.04.2012 14:56 Uhr MESZ> <Notice> <StdErr> <BEA-000000> <log4j:WARN Please initialize the log4j system properly.>
    <11.04.2012 14:56 Uhr MESZ> <Notice> <StdErr> <BEA-000000> <log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.>
    The file /tmp/log.out does not exist.
    Any thought ?
    Sergio.

  • Log4j async appender and line number output

    Hello,
    I am trying to implement log4j in my application, and would like to log the caller class and the line number of the call. When I do not use async appender, the caller class and the line number are logged. However when I add the same appenders to the AsyncAppender, the caller information is lost. Please, take a look at the config and output snippets.
    Thanks,
    Elana
    ======
    Here is the configuration without the use of the async appender (Async tags are commented out)
    <log4j:configuration debug="true">
    <!-- <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
        <appender-ref ref="SystemOut"/>
        <appender-ref ref="FileOut"/>
      </appender>
       -->
      <appender name="SystemOut" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern"
                 value="%5p (%d{DATE}) [%t] (%F:%L) - %m%n"/>
        </layout>
      </appender>
      <appender name="FileOut" class="org.apache.log4j.RollingFileAppender">
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern"
                 value="%5p (%d{DATE}) [%t] (%F:%L) - %m%n"/>
        </layout>
        <param name="File" value="logs/exampleAsync.log"/>
        <param name="MaxFileSize" value="100KB"/>
        <param name="MaxBackupIndex" value="1"/>
      </appender>
      <root>
        <!--<appender-ref ref="ASYNC"/>       -->
          <appender-ref ref="FileOut"/>
          <appender-ref ref="SystemOut"/>
      </root>
    </log4j:configuration>It produces the following output:
    DEBUG (08 Apr 2006 17:03:49,140) [Thread-0] (LogGenerator.java:79) - Debugging
    DEBUG (08 Apr 2006 17:03:52,145) [Thread-0] (LogGenerator.java:74) - TracingHere is the configuration WITH the use of async appender
    <log4j:configuration debug="true">
      <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
        <appender-ref ref="SystemOut"/>
        <appender-ref ref="FileOut"/>
      </appender>
      <appender name="SystemOut" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern"
                 value="%5p (%d{DATE}) [%t] (%F:%L) - %m%n"/>
        </layout>
      </appender>
      <appender name="FileOut" class="org.apache.log4j.RollingFileAppender">
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern"
                 value="%5p (%d{DATE}) [%t] (%F:%L) - %m%n"/>
        </layout>
        <param name="File" value="logs/exampleAsync.log"/>
        <param name="MaxFileSize" value="100KB"/>
        <param name="MaxBackupIndex" value="1"/>
      </appender>
      <root>
        <appender-ref ref="ASYNC"/>
      </root>
    </log4j:configuration>It produces the following output: (NOTE the question marks in the place of caller info)
    DEBUG (08 Apr 2006 17:12:12,534) [Thread-1] (?:?) - Tracing
    DEBUG (08 Apr 2006 17:12:15,528) [Thread-1] (?:?) - Debugging

    I don't think you can use AsyncAppender with a properties file. You have to use XML and a JoranConfigurator

  • Setting Appender's fields in Apache's Log4J

    Hi,
    In the following code snippet (which is written to create a FileAppender & make log4J log to that file):
    import org.apache.log4j.*;
    class sample
    HTMLLayout layout = new HTMLLayout();
    layout.TITLE_OPTION = "DataSE Log";
    String logFileName = "Log.txt";
    Appender appender = new FileAppender(layout, logFileName, true);
    appender.immediateFlush = false;
    appender.bufferedIO = true;
    appender.bufferSize = 64;
    Logger logger = Logger.getLogger();
    logger.addAppender(appender);
    the above snippet is not inside any method. Its directly within the class. In the above snippet, I am encountering 2 types of errors:
    1. Am using the fields of the classes FileAppender & layout. The usage seems to be wrong, because am getting the error "'synatx error on token(s); misplaced construct(s)" & similar errors.
    2. how to specify the bufferSize? Just as '64' or '64K'?
    Thanks.

    1. Am using the fields of the classes FileAppender &
    layout. The usage seems to be wrong, because am
    getting the error "'synatx error on token(s);
    misplaced construct(s)" & similar errors. logger.addAppender(appender);
    You can't have statements like those there. At least use a static initializer (static { ... } ) to do all the stuff you're doing.
    2. how to specify the bufferSize? Just as '64' or
    '64K'?Wouldn't that depend on the type of the field and its usage? RTFAPI.

  • Log4j file appender

    Hi,
    I am using log4j for logging. I am working on a huge application and there would be lots of logs each day. Thereby it is requried that the log files be stored and renamed each day. The date is appended to the log file and that day's log file is stored. The logs start writing afresh each day. The problem here is that at times the application simply starts logging to the previous day's log file, for a while, and then starts writing back to the current day's file again. I am not able to figure out what goes wrong and when. The application is running on weblogic. Can anybody please help? The log4j properties file is here....
    # DO NOT MODIFY
    log4j.categoryFactory=com.myapp.util.logger.LoggerCategoryFactory
    log4j.rootCategory=INFO,DISABLED
    # EVENTS
    log4j.category.nmy.STATE=INFO,0,DAY,OBS
    log4j.category.nmy.EXCEPTION=DEBUG,10,DAY
    log4j.category.nmy.SESSION=INFO,0,DAY
    log4j.category.nmy.REQUEST=INFO,0,DAY
    log4j.category.nmy.MESSAGE=INFO,0,DAY
    log4j.category.nmy.OBJECT=INFO,0,DAY
    log4j.category.nmy.DATA=INFO,0,DAY
    log4j.category.nmy.NONE=DEBUG,5,DAY
    # DO NOT MODIFY
    log4j.appender.DISABLED=com.myapp.util.logger.NullAppender
    # STANDARD OUTPUT DRIVER SETTINGS
    log4j.appender.CON=org.apache.log4j.ConsoleAppender
    log4j.appender.CON.Target=System.out
    log4j.appender.CON.layout=com.myapp.util.logger.LoggerLayout
    log4j.appender.CON.layout.ConversionPattern=+{DATE_TIME};{EVENT_ID};{SESSION_ID};{SEVERITY};{MODULE};{THREAD_ID};{EVENT_TYPE};{ERROR_CODE};{DESCRIPTION};{DEBUG_INFO}
    # ROLLING FILE OUTPUT DRIVER SETTINGS
    log4j.appender.ROL=org.apache.log4j.RollingFileAppender
    log4j.appender.ROL.File=/var/opt/apps/myapp/var/logs/application.log
    log4j.appender.ROL.MaxFileSize=4000KB
    log4j.appender.ROL.MaxBackupIndex=5
    log4j.appender.ROL.layout=com.myapp.util.logger.LoggerLayout
    log4j.appender.ROL.layout.ConversionPattern=+{DATE_TIME};{EVENT_ID};{SESSION_ID};{SEVERITY};{MODULE};{THREAD_ID};{EVENT_TYPE};{ERROR_CODE};{DESCRIPTION};{DEBUG_INFO}
    # DAILY OUTPUT DRIVER SETTINGS
    log4j.appender.DAY=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.DAY.File=/var/opt/apps/myapp/var/logs/daily_application.log
    log4j.appender.DAY.DatePattern='.'yyyy-MM-dd
    log4j.appender.DAY.layout=com.myapp.util.logger.LoggerLayout
    log4j.appender.DAY.layout.ConversionPattern=+{DATE_TIME};{EVENT_ID};{SESSION_ID};{SEVERITY};{MODULE};{THREAD_ID};{EVENT_TYPE};{ERROR_CODE};{DESCRIPTION};{DEBUG_INFO}
    # ===========================================================================
    # SIMPLE FILE OUTPUT DRIVER SETTINGS WITH DEBUG_INFO
    log4j.appender.FIL=org.apache.log4j.FileAppender
    log4j.appender.FIL.File=/var/opt/apps/myapp/var/logs/fil_application.log
    log4j.appender.FIL.Append=false
    log4j.appender.FIL.layout=com.myapp.util.logger.LoggerLayout
    log4j.appender.FIL.layout.ConversionPattern=+{DATE_TIME};{EVENT_ID};{SESSION_ID};{SEVERITY};{MODULE};{THREAD_ID};{EVENT_TYPE};{ERROR_CODE};{DESCRIPTION};{DEBUG_INFO}
    # ===========================================================================
    # DAILY OBSERVATION FILE OUTPUT DRIVER SETTINGS
    log4j.appender.OBS=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.OBS.File=/var/opt/apps/myapp/var/logs/obslog.out
    log4j.appender.OBS.DatePattern=.yyyyMMdd
    log4j.appender.OBS.layout=com.myapp.util.logger.LoggerLayout
    log4j.appender.OBS.layout.ConversionPattern={DESCRIPTION}
    # log4j.appender.OBS.layout.ConversionPattern=+{DATE_TIME};{EVENT_ID};{SESSION_ID};{SEVERITY};{MODULE};{THREAD_ID};{EVENT_TYPE};{ERROR_CODE};{DESCRIPTION};{DEBUG_INFO}
    Regards...

    I found from the log4j 1.3 API javadoc, the DailyRollingFileAppender is deprecated. They use the RollingFileAppender instead and give one sample .
    Hope it helps!
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration>
    <log4j:configuration debug="true">
    <appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender">
    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
    <param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}.gz"/>
    </rollingPolicy>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%c{1} - %m%n"/>
    </layout>
    </appender>
    <root">
    <appender-ref ref="ROLL"/>
    </root>
    </log4j:configuration>

  • Log4j question about closed appender error

    Hi all,
    In my company's project, we have used the log4j 1.1.3 for logging. Since in the project, there are a few applications. We have a common properties to state the log4j properties for AppSTDERR(console), AppLogFile and AppNTEventLog. And we also have a properties file for each application. In each proeprties file, we state a different path to the AppLogFile for different application. We use PropertyConfigurator.configure() to configure the properties and use Category.getRoot(). However, sometimes some application's log will log to another application log file. So we decide to change the application properties file like this:
    log4j.category.AppXXX=DEBUG, AppXXXSTDERR, AppXXXLogFile
    log4j.appender.AppXXXLogFile=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.AppXXXLogFile.File=C:\\xxx\\xxx.log
    log4j.appender.AppXXXLogFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.AppXXXLogFile.layout.ConversionPattern=%d{ISO8601} [%-5p] [%t] %m%n
    log4j.appender.AppXXXSTDERR: org.apache.log4j.ConsoleAppender
    log4j.appender.AppXXXSTDERR.layout: org.apache.log4j.PatternLayout
    log4j.appender.AppXXXSTDERR.layout.ConversionPattern: %d{ISO8601} [%-5p] [%t] - %m%n
    We don't use Category.getRoot() and use Category.getInstance("AppXXX") instead. But we sometimes get these errors on console:
    log4j:ERROR Attempted to append to closed appender named [AppSTDERR].
    log4j:WARN Not allowed to write to a closed appender.
    log4j:ERROR Attempted to append to closed appender named [AppLogFile].
    log4j:WARN Not allowed to write to a closed appender.
    We don't know what is the problem. We guess that some common programs will log common messages to AppLogFile and AppSTDERR but we do not open the AppLogFile and AppSTDERR in each application. Is that we have to use Category.getRoot() ?
    Anybody help?
    Raymond

    Do you not need a DatePattern value for the DailyRollingFileAppender? DatePattern being the variable that determines WHEN the logs are rolled.
    If not specified what is the default value? Could not setting this value result in strange behavior?
    These are shots in the dark I know but we are having similar issues. I can't find any documentation on what the default value is of DatePattern if not specified and have no idea what happens if no value is set. At any rate we are going to supply a value for DatePattern and see if it fixes our problem, I'll post the resutls.

  • How to append the timestamp in log4j.xml

    Hi,
    Has anybody know how to configure the timestamp in log4j.xml??
    It would be great, if you could update the right parameter name in my log4.xml which appears below to display timestamp in my log file Master.log!
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration
      xmlns:log4j="http://jakarta.apache.org/log4j/">
      <!-- Order of child elements is appender*, logger*, root?. -->
      <!-- Appenders control how logging is output. -->
      <appender name="CM" class="org.apache.log4j.FileAppender">
         <param name="File" value="Master.log"/>
         <param name="Threshold" value="DEBUG"/>
         <param name="Append" value="true"/>
         <param name="MaxFileSize" value="1MB"/>
         <param name="MaxBackupIndex" value="1"/>
        <layout class="org.apache.log4j.PatternLayout">
          <!-- {fully-qualified-class-name}:{method-name}:{line-number}
                - {message}{newline} -->
          <param name="ConversionPattern" value="%C:%M:%L - %m%n"/>
        </layout>     
      </appender>
      <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
        <param name="Threshold" value="INFO"/>
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%C:%M:%L - %m%n"/>
        </layout>
      </appender>
      <!-- Logger hierarchy example:
           root - com - com.ociweb - com.ociweb.demo - com.ociweb.demo.LogJDemo
      -->
      <!-- Setting additivity to false prevents ancestor categories
           for being used in addition to this one. -->
      <logger name="com.tf" additivity="true">
        <priority value="DEBUG"/>
        <appender-ref ref="CM"/>
      </logger>
      <!-- Levels from lowest to highest are
           trace, debug, info, warn, error, fatal & off. -->
      <!-- The root category is used for all loggers
           unless a more specific logger matches. -->
      <root>
        <appender-ref ref="stdout"/>
      </root>
    </log4j:configuration>

    Hello Sir,
    I have configured Log4j.xml for my project and it is able to generate the log file properly with the timestamp,but it is showing the the following error messaged at weblogic console!
    log4j:ERROR Parsing error on line 3 and column 8
    log4j:ERROR Element type "log4j" must be declared.
    log4j:ERROR Parsing error on line 15 and column 13
    log4j:ERROR The content of element type "appender" must match "(errorHandler?,param*,layout?,filter*,appender-ref*)".
    log4j:ERROR Parsing error on line 16 and column 57
    log4j:ERROR Attribute "priority" must be declared for element type "category".
    log4j:ERROR Parsing error on line 19 and column 25
    log4j:ERROR Attribute "priority" must be declared for element type "root".log4j:ERROR Parsing error on line 39 and column 12
    log4j:ERROR The content of element type "logger" must match "(level?,appender-ref*)".
    log4j:WARN No such property [maxFileSize] in org.apache.log4j.DailyRollingFileAppender.
    log4j:WARN No such property [maxBackupIndex] in org.apache.log4j.DailyRollingFileAppender.
    Here is my Log4j.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration
    xmlns:log4j="http://jakarta.apache.org/log4j/">
    <!-- Order of child elements is appender*, logger*, root?. -->
    <!-- Appenders control how logging is output. -->
    <appender name="CM" class="org.apache.log4j.DailyRollingFileAppender">
         <param name="File" value="Customer_Master.log"/>
         <param name="Threshold" value="DEBUG"/>
         <param name="Append" value="false"/>
         <param name="DatePattern" value="'.'yyyy-MM-dd"/>
         <param name="MaxFileSize" value="1MB"/>
         <param name="MaxBackupIndex" value="1"/>
    <layout class="org.apache.log4j.PatternLayout">
    <!-- {fully-qualified-class-name}:{method-name}:{line-number}
    - {message}{newline} -->
    <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
    </layout>
    </appender>
    <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
    <param name="Threshold" value="INFO"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%C:%M:%L - %m%n"/>
    </layout>
    </appender>
    <!-- Logger hierarchy example:
    root - com - com.ociweb - com.ociweb.demo - com.ociweb.demo.LogJDemo
    -->
    <!-- Setting additivity to false prevents ancestor categories
    for being used in addition to this one. -->
    <logger name="com.tf" additivity="true">
    <priority value="DEBUG"/>
    <appender-ref ref="CM"/>
    </logger>
    <!-- Levels from lowest to highest are
    trace, debug, info, warn, error, fatal & off. -->
    <!-- The root category is used for all loggers
    unless a more specific logger matches. -->
    <root>
    <appender-ref ref="stdout"/>
    </root>
    </log4j:configuration>
    It would be great,if you could correct the above xml file and avoid getting the error message from Weblogic console.
    Thanks in advance,
    kumar

  • How to set filename into log4j.properties using LogFactory from apache

    I'm getting a java.lang.ClassCastException .. Please help. Thanks.
    package src;
    import java.io.IOException;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.apache.log4j.Category;
    import org.apache.log4j.rolling.RollingFileAppender;
    public class FileLock {
    private static Log log = LogFactory.getLog(FileLock.class);
         public static void main(String[] args) throws IOException {
              // TODO Auto-generated method stub
              String logFile="C:/TEST123.TXT";
              RollingFileAppender apd = (RollingFileAppender) ((Category) log).getAppender("FILELOG");
              apd.setFile(logFile);
              apd.activateOptions();
              log.debug ( "This is a test debug");
              log.trace ( "This is a test trace");
              log.fatal ( "This is a test fatal");
    Snapshot from my log4j.xml.
    <appender name="FILELOG" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="C:/a.log" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern"
    value="[%d{ISO8601}] %-5p %c %m %n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
    <param name="LevelMin" value="DEBUG"/>
    <param name="LevelMax" value="INFO"/>
    </filter>
    </appender>
    *************

    Thanks here's the list:
    log4j:INFO Using URL [file:/C:/TEST2/FileLocking/bin/log4j.xml] for automatic log4j configuration of repository named [default].
    [2006-08-10 10:52:08,421] DEBUG org.apache.log4j.joran.action.ConfigurationAction Ignoring debug attribute.
    [2006-08-10 10:52:08,437] DEBUG org.apache.log4j.joran.action.AppenderAction About to instantiate appender of type [org.apache.log4j.FileAppender]
    [2006-08-10 10:52:08,453] DEBUG org.apache.log4j.joran.action.AppenderAction Appender named as [FILELOG]
    [2006-08-10 10:52:08,453] DEBUG org.apache.log4j.joran.action.AppenderAction Pushing appender on to the object stack.
    [2006-08-10 10:52:08,453] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [File] to value [C:/a.log].
    [2006-08-10 10:52:08,484] DEBUG org.apache.log4j.joran.action.LayoutAction About to instantiate layout of type [org.apache.log4j.PatternLayout]
    [2006-08-10 10:52:08,531] DEBUG org.apache.log4j.joran.action.LayoutAction Pushing layout on top of the object stack.
    [2006-08-10 10:52:08,531] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [ConversionPattern] to value [[%d{ISO8601}] %-5p %c %m %n].
    [2006-08-10 10:52:08,593] DEBUG org.apache.log4j.joran.action.LayoutAction Popping layout from the object stack
    [2006-08-10 10:52:08,593] DEBUG org.apache.log4j.joran.action.LayoutAction About to set the layout of the containing appender.
    [2006-08-10 10:52:08,593] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [LevelMin] to value [DEBUG].
    [2006-08-10 10:52:08,593] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [LevelMax] to value [INFO].
    [2006-08-10 10:52:08,593] DEBUG org.apache.log4j.FileAppender setFile called: C:/a.log, true
    [2006-08-10 10:52:08,609] DEBUG org.apache.log4j.FileAppender setFile ended
    [2006-08-10 10:52:08,609] DEBUG org.apache.log4j.joran.action.AppenderAction Popping appender named [FILELOG] from the object stack
    [2006-08-10 10:52:08,609] DEBUG org.apache.log4j.joran.action.AppenderAction About to instantiate appender of type [org.apache.log4j.ConsoleAppender]
    [2006-08-10 10:52:08,609] DEBUG org.apache.log4j.joran.action.AppenderAction Appender named as [STDOUT]
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.AppenderAction Pushing appender on to the object stack.
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [Target] to value [System.out].
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.LayoutAction About to instantiate layout of type [org.apache.log4j.PatternLayout]
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.LayoutAction Pushing layout on top of the object stack.
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [ConversionPattern] to value [[%d{ISO8601}] %-5p %c %m %n].
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.LayoutAction Popping layout from the object stack
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.LayoutAction About to set the layout of the containing appender.
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [LevelMin] to value [DEBUG].
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [LevelMax] to value [INFO].
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.AppenderAction Popping appender named [STDOUT] from the object stack
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.AppenderAction About to instantiate appender of type [org.apache.log4j.ConsoleAppender]
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.AppenderAction Appender named as [STDERR]
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.AppenderAction Pushing appender on to the object stack.
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [Target] to value [System.err].
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.LayoutAction About to instantiate layout of type [org.apache.log4j.PatternLayout]
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.LayoutAction Pushing layout on top of the object stack.
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [ConversionPattern] to value [[%d{ISO8601}] %-5p %c %m %n].
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.LayoutAction Popping layout from the object stack
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.LayoutAction About to set the layout of the containing appender.
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [LevelMin] to value [WARN].
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [LevelMax] to value [FATAL].
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.AppenderAction Popping appender named [STDERR] from the object stack
    [2006-08-10 10:52:08,625] DEBUG org.apache.log4j.joran.action.AppenderAction About to instantiate appender of type [org.apache.log4j.net.SMTPAppender]
    [2006-08-10 10:52:08,734] DEBUG org.apache.log4j.joran.action.AppenderAction Appender named as [EMAIL]
    [2006-08-10 10:52:08,734] DEBUG org.apache.log4j.joran.action.AppenderAction Pushing appender on to the object stack.
    [2006-08-10 10:52:08,734] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [BufferSize] to value [512].
    [2006-08-10 10:52:08,734] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [SMTPHost] to value [exchange.medi.com].
    [2006-08-10 10:52:08,734] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [From] to value [[email protected]].
    [2006-08-10 10:52:08,734] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [To] to value [[email protected]].
    [2006-08-10 10:52:08,734] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [Subject] to value [[SMTPAppender] Application message].
    [2006-08-10 10:52:08,734] DEBUG org.apache.log4j.joran.action.LayoutAction About to instantiate layout of type [org.apache.log4j.PatternLayout]
    [2006-08-10 10:52:08,734] DEBUG org.apache.log4j.joran.action.LayoutAction Pushing layout on top of the object stack.
    [2006-08-10 10:52:08,734] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [ConversionPattern] to value [[%d{ISO8601}]%n%n%-5p%n%n%c%n%n%m%n%n].
    [2006-08-10 10:52:08,750] DEBUG org.apache.log4j.joran.action.LayoutAction Popping layout from the object stack
    [2006-08-10 10:52:08,750] DEBUG org.apache.log4j.joran.action.LayoutAction About to set the layout of the containing appender.
    [2006-08-10 10:52:08,750] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [LevelMin] to value [ERROR].
    [2006-08-10 10:52:08,750] DEBUG org.apache.log4j.joran.action.ParamAction In ParamAction setting parameter [LevelMax] to value [FATAL].
    [2006-08-10 10:52:08,812] DEBUG org.apache.log4j.joran.action.AppenderAction Popping appender named [EMAIL] from the object stack
    [2006-08-10 10:52:08,812] DEBUG org.apache.log4j.joran.action.RootLoggerAction Pushing root logger on stack
    [2006-08-10 10:52:08,812] DEBUG org.apache.log4j.joran.action.LevelAction Encapsulating logger name is [root], levelvalue is [all].
    [2006-08-10 10:52:08,812] DEBUG org.apache.log4j.joran.action.LevelAction root level set to ALL
    [2006-08-10 10:52:08,812] DEBUG org.apache.log4j.joran.action.AppenderRefAction Attaching appender named [FILELOG] to logger named [root].
    [2006-08-10 10:52:08,812] DEBUG org.apache.log4j.joran.action.AppenderRefAction Attaching appender named [STDOUT] to logger named [root].
    [2006-08-10 10:52:08,812] DEBUG org.apache.log4j.joran.action.AppenderRefAction Attaching appender named [STDERR] to logger named [root].
    [2006-08-10 10:52:08,812] DEBUG org.apache.log4j.joran.action.AppenderRefAction Attaching appender named [EMAIL] to logger named [root].
    [2006-08-10 10:52:08,812] DEBUG org.apache.log4j.joran.action.RootLoggerAction Removing root logger from top of stack.
    [2006-08-10 10:52:08,812] DEBUG org.apache.log4j.joran.JoranConfigurator Finished parsing.
    java.lang.ClassCastException
         at src.FileLock.main(FileLock.java:19)
    Exception in thread "main"

  • How to send a mail using SMTPAppender in Log4j..?

    Hello friends,
    I'm new to this forum.
    I'm trying to send mail using SMTPAppender.
    I am getting this error..
    javax.xml.parsers.FactoryConfigurationError: Provider for javax.xml.parsers.DocumentBuilderFactory cannot be found
    at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:772)
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:696)
    at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:471)
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:125)
    at org.apache.log4j.Logger.getLogger(Logger.java:105)
    at com.honeywell.logging.Log.<clinit>(Log.java:36)
    Exception in thread "main"
    Here is the code...
    Log.java
    package com.something.log;
    import org.apache.log4j.Logger;
    import org.apache.log4j.LogManager;
    import javax.mail.*;
    import javax.mail.internet.*;
    import org.apache.log4j.helpers.Loader;
    import org.apache.log4j.xml.DOMConfigurator;
    import java.net.URL;
    import java.util.*;
    import javax.mail.Message;
    import org.apache.log4j.PatternLayout;
    import org.apache.log4j.net.SMTPAppender;
    public class Main {
    * @param args the command line arguments
    private static final Logger lg=Logger.getLogger("com.something.log.Main");
    public static void main(String[] args) {
    URL url = Loader.getResource("log4j.xml");
                   DOMConfigurator.configure(url);
              // create email appender
         SMTPAppender smtpAppender = new SMTPAppender();
         smtpAppender.setTo("[email protected]");
         smtpAppender.setFrom("[email protected]");
         smtpAppender.setSMTPHost("smtp.something.com");
         smtpAppender.setSubject("Testing Email");
         smtpAppender.setLocationInfo(false);
         smtpAppender.setLayout(new PatternLayout("%d{ABSOLUTE} %5p %c{1}:%L - %m%n"));
         smtpAppender.activateOptions();
         // add email appender
         lg.addAppender(smtpAppender);
    log4j.xml
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
    <log4j:configuration>
         <appender name="file"
              class="org.apache.log4j.RollingFileAppender">
              <param name="maxFileSize" value="100KB" />
              <param name="maxBackupIndex" value="5" />
              <param name="File" value="logs/log.txt" />
              <param name="threshold" value="info"/>
              <layout class="org.apache.log4j.PatternLayout">
                   <param name="ConversionPattern"
                        value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
              </layout>
         </appender>
         <appender name="mail" class="org.apache.log4j.net.SMTPAppender">
              <param name="SMTPHost" value="smtp.something.com" />
              <param name="From" value="[email protected]" />
              <param name="To" value="[email protected]" />
              <param name="Subject" value="[LOG] ..." />
              <param name="BufferSize" value="1" />
              <param name="threshold" value="error" />
              <layout class="org.apache.log4j.PatternLayout">
                   <param name="ConversionPattern"
                        value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
              </layout>
         </appender>
         <root>
              <priority value="debug"></priority>
              <appender-ref ref="file" />
              <appender-ref ref="mail"/>
         </root>
    </log4j:configuration>
    log4j.properties
    log4j.rootLogger=warn, file, mail
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.maxFileSize=100KB
    log4j.appender.file.maxBackupIndex=5
    log4j.appender.file.File=D:\log.txt
    log4j.appender.file.threshold=info
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
    #email appender
    log4j.appender.mail=org.apache.log4j.net.SMTPAppender
    #defines how othen emails are send
    log4j.appender.mail.BufferSize=1
    log4j.appender.mail.SMTPHost="smtp.something.com"
    [email protected]
    [email protected]
    log4j.appender.mail.Subject=Log ...
    log4j.appender.mail.threshold=error
    log4j.appender.mail.layout=org.apache.log4j.PatternLayout
    log4j.appender.mail.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
    Please help me in fixing the problem.....
    Is this code correct to send email...??

    I've not reviewed all of your code/config there, but the error seems to me to indicate a problem parsing your log4j.xml file - have you been able to get a simple configuration working? Can you parse other XML files?
    Good Luck
    Lee

  • Problem while loading the log4j.xml in to the classpath

    Hi,
    I am working with a web application using tomcat5.0.I am using log4j for logging the information in my application.I am keeping log4j.xml out side of the application(Generally we will keep under WEB-INF/classes ).Now I want to load the log4j.xml from outside location in my ContextListner class.I am using the following code.
    String cmd="java -cp -Dlog4j.configuration=C:/sample/log4j.xml";
                   Runtime runtime = Runtime.getRuntime();
                   Process process = null;
                   process = runtime.exec(cmd);  but I am getting the following errors.
    log4j:WARN File option not set for appender [stdout].
    log4j:WARN Are you using FileAppender instead of ConsoleAppender?
    log4j:WARN No appenders could be found for logger (org.apache.catalina.session.ManagerBase).
    log4j:WARN Please initialize the log4j system properly.
    log4j:ERROR No output stream or file set for the appender named [stdout].
    Feb 26, 2009 7:48:28 PM org.apache.coyote.http11.Http11BaseProtocol startI am not getting where am I doing wrong.
    Any Ideas please?
    Regards
    kondal

    My log4j.xml looks like
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
         <appender name="file" class="org.apache.log4j.RollingFileAppender">
              <param name="File" value="C:\\niablogs\\niab3.log"/>
            <param name="MaxFileSize" value="1MB"/>
            <param name="append" value="true"/>
            <param name="MaxBackupIndex" value="5"/>
              <layout class="org.apache.log4j.PatternLayout">
                   <param name="ConversionPattern" value="(%-25.25F:%4L) %d{yyyy MM dd HH:mm:ss:SSS} [%-30.30t] %5p - %m %n" />
              </layout>
         </appender>
        <logger name="in.co" additivity="false">
            <level value="all" />
            <appender-ref ref="file" />
        </logger>
    </log4j:configuration>It is working fine if I keep log4j.xml under WEB-INF/classes.If I keep my log4j.xml is outside of the application then it is not working.As per ApacheLog4j Specification we need to set the xml file path to the log4j.configuration system property.Even I tried putting like the following in my Listener class System.setProperty("log4j.configuration", "C:/kondal/log4j.xml");.
    Any Ideas please?
    Thanks
    kondal

  • Using log4j.xml to limit the size of a file

    Hello,
    I'm using JBoss. On startup it writes to boot.log and server.log. I'd like to limit the size that server.log can reach. At the minute I'm using the following code:
    <!-- A size based file rolling appender-->
       <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
         <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
         <param name="File" value="${jboss.server.home.dir}/log/server.log"/>
         <param name="Append" value="false"/>
         <param name="MaxFileSize" value="3KB"/>
         <param name="MaxBackupIndex" value="1"/>
         <layout class="org.apache.log4j.PatternLayout">
           <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
         </layout>        
       </appender>However this causes far more information to be written to boot.log than usual and nothing to server.log.
    Can anyone help me in where I'm going wrong?
    Thanks very much,
    Ger

    Solved.
    Thanks,
    Ger
    Tell me more...

  • Log4j - why not logging RuntimeException to the file?

    log4j.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration debug="true"
         xmlns:log4j="http://jakarta.apache.org/log4j/">
         <appender name="Console" class="org.apache.log4j.ConsoleAppender">
              <layout class="org.apache.log4j.PatternLayout">
                   <!-- l, L, M - is extremely slow. It's use should be avoided unless execution
                        speed is not an issue. -->
                   <param name="ConversionPattern" value="%d{[dd MMM yyyy HH:mm:ss.SSS]} %l %p:%n    %m%n" />
              </layout>
         </appender>
         <appender name="File" class="org.apache.log4j.DailyRollingFileAppender">
              <param name="File" value="logs/trace.log" />
              <param name="Append" value="true" />
              <layout class="org.apache.log4j.PatternLayout">
                   <param name="ConversionPattern" value="%d{[dd MMM yyyy HH:mm:ss.SSS]} %l %p:%n    %m%n" />
              </layout>
         </appender>
         <root>
              <level value="ALL" />
              <appender-ref ref="Console" />
              <appender-ref ref="File" />
         </root>
    </log4j:configuration>and all logging to the file and to the console. OK.
    But when throw RuntimeException (e.g. java.lang.NullPointerException) then logging ONLY to the console. But I also need logging to the file.
    console log WITH RuntimeException:
    [java] [09 Aug 2010 12:48:23.591] com.mycompany.myproject.views.OutgoingTabView.actionPerformed(OutgoingTabView.java:150) DEBUG:
    [java]     Start signing and uploading M2 documents to the CB (FTP server) ...
    [java] [09 Aug 2010 12:48:23.607] com.mycompany.myproject.db.DefaultDBStrategy.createM2PackDocuments(DefaultDBStrategy.java:423) TRACE:
    [java]     Start creating m2PackDocuments from DB (from M2 documents with status 0) by SQL query:
    [java] SELECT * FROM OutDocs WHERE STATUS=0
    [java] [09 Aug 2010 12:48:23.622] com.mycompany.myproject.db.DefaultDBStrategy.createM2PackDocuments(DefaultDBStrategy.java:471) TRACE:
    [java]     Success created m2PackDocuments(6)
    [java] [09 Aug 2010 12:48:23.685] com.mycompany.myproject.views.OutgoingTabView.actionPerformed(OutgoingTabView.java:158) TRACE:
    [java]     Success created m2PackDocuments(6) from M2 documents with status 'new'
    [java] [09 Aug 2010 12:48:23.685] com.mycompany.myproject.util.M2EIManager.sendM2Pack(M2EIManager.java:178) TRACE:
    [java]     Start create M2Pack
    [java] Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    [java]      at com.mycompany.myproject.pack.M2PackTrailer.isCorrectPhone(M2PackTrailer.java:361)
    [java]      at com.mycompany.myproject.pack.M2PackTrailer.setTrailer_Phone(M2PackTrailer.java:380)
    [java]      at com.mycompany.myproject.pack.M2PackTrailer.setTrailer(M2PackTrailer.java:425)
    [java]      at com.mycompany.myproject.pack.M2PackTrailer.createDynamicTrailerFields(M2PackTrailer.java:481)
    [java]      at com.mycompany.myproject.pack.M2PackTrailer.initialize(M2PackTrailer.java:489)
    [java]      at com.mycompany.myproject.pack.M2PackTrailer.<init>(M2PackTrailer.java:494)
    [java]      at com.mycompany.myproject.pack.M2Pack.initialize(M2Pack.java:28)
    [java]      at com.mycompany.myproject.pack.M2Pack.<init>(M2Pack.java:32)
    [java]      at com.mycompany.myproject.util.M2EIManager.sendM2Pack(M2EIManager.java:179)
    [java]      at com.mycompany.myproject.views.OutgoingTabView.actionPerformed(OutgoingTabView.java:165)
    [java]      at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    [java]      at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    [java]      at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    [java]      at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    [java]      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    [java]      at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    [java]      at java.awt.Component.processMouseEvent(Unknown Source)
    [java]      at javax.swing.JComponent.processMouseEvent(Unknown Source)
    [java]      at java.awt.Component.processEvent(Unknown Source)file log WITHOUT logging RuntimeException:
    [java] [09 Aug 2010 12:48:23.591] com.mycompany.myproject.views.OutgoingTabView.actionPerformed(OutgoingTabView.java:150) DEBUG:
    [java]     Start signing and uploading M2 documents to the CB (FTP server) ...
    [java] [09 Aug 2010 12:48:23.607] com.mycompany.myproject.db.DefaultDBStrategy.createM2PackDocuments(DefaultDBStrategy.java:423) TRACE:
    [java]     Start creating m2PackDocuments from DB (from M2 documents with status 0) by SQL query:
    [java] SELECT * FROM OutDocs WHERE STATUS=0
    [java] [09 Aug 2010 12:48:23.622] com.mycompany.myproject.db.DefaultDBStrategy.createM2PackDocuments(DefaultDBStrategy.java:471) TRACE:
    [java]     Success created m2PackDocuments(6)
    [java] [09 Aug 2010 12:48:23.685] com.mycompany.myproject.views.OutgoingTabView.actionPerformed(OutgoingTabView.java:158) TRACE:
    [java]     Success created m2PackDocuments(6) from M2 documents with status 'new'
    [java] [09 Aug 2010 12:48:23.685] com.mycompany.myproject.util.M2EIManager.sendM2Pack(M2EIManager.java:178) TRACE:
    [java]     Start create M2Pack

    Because you're not catching the exception. You're letting it bubble up to Swing's default exception handler, which doesn't know about Log4J.
    One solution would be to put a catch (Exception ex) in OutgoingTabView.actionPerformed, and explicitly log it there. I picked that method (rather than any of the ones lower on the stack trace) because catching the exception there is equivalent to saying "don't perform the action."
    However, this solution isn't very good, because it would let your program continue in a probably-incorrect state. NullPointerException generally indicates a programming error: after all, if you expected that a particular value could be null, you wouldn't blindly dereference it, right? And while you could write code to undo anything that happened before the exception, a better solution is to log any available information, pop a dialog apologizing to the user, and shutting down.
    Perhaps better, you could replace the event dispatch thread's [uncaught exception handler|http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html#setUncaughtExceptionHandler] with something that writes the log and then exits. That will keep you from adding try/catch blocks to all of your action listeners.

  • Posting errors through Log4j in weblogics log file

    I am running portlet application , if i want to print all error messages inside weblogic's Log file how can i do it , please explain me full procedure

    Step 1. Copy log4j-1.2.9.jar & wllog4j.jar under domain_root/lib folder.
    Step 2. Create log4j.xml and drop it under domain_root folder. If you have log4j.xml inside the application(EAR/WAR), I would recommend to move outside EAR/WAR as
    changing severity (log level) would require re-deployment. To avoid this, we can move log4j.xml into domain root folder but again the server needs to be bounced.
    But there is a fix.
    Step 3. Login to weblogic server console. Go to Servers -> Admin Server-> Logging.
    Click on advanced mode. Change the logging implementation from JDK to Log4J.
    Click save.
    Step 4. Activate changes. Re-start the admin server.
    This should enable log4j and should write logging into log file mentioned in log4j.xml or properties file.
    Hang on! There is a catch here. Say now I want to change the log level from DEBUG into WARN or ERROR.
    How do i do?
    We go to log4j.xml and change the level.
    Now how does this change take into effect? It needs bouncing of the server.
    I have given below sample log4j.xml for your reference...
    log4j.xml:
    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM
    "log4j.dtd">
    <log4j:configuration>
    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern"
    value="%d [%t] %-5p %c - %m%n"/>
    </layout>
    </appender>
    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/log/myApp.log"/>
    <param name="Append" value="true"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{ISO8601} %t %-5p %c{2} - %m%n"/>
    </layout>
    </appender>
    <logger name="org.apache">
    <level value="WARN"/>
    </logger>
    <logger name="org.springframework">
    <level value="WARN"/>
    </logger>
    <root>
    <level value="DEBUG"/>
    <appender-ref ref="FILE"/>
    <!-- <appender-ref ref="CONSOLE"/> -->
    </root>
    </log4j:configuration>
    I have disabled log4j to write int
    I Followed all these steps , but finally i am getting an empty file myApp.log at specified destination , i want all log messages inside that file when WEBLOGIC starts , so what needs to be done for that

  • Using StringMatchFilter in Log4J XML Config. File?

    I'm trying to use the StringMatchFilter in an appender to determine based on the contents of the message when to send an email, when testing with single words it works great. For example if the message has "Here is a DEBUG" and my "StringToMatch" value is DEBUG then that message is correctly identified. However if I want to match on more specific string like "Here is DEBUG" for my "StringToMatch" value it will match on every message that has the word "Here" in it anywhere. So it would incorrectly match on "Here is a WARN" when the "StringToMatch" value specified is "Here is DEBUG". Below are my two files I'm using to run my test. How should I specify a string with embedded spaces for this to work? I've tried with single quotes inside the double quotes like this: "'Here is DEBUG'" but it still matched on 'Here'.
    My XML Config. file looks like this:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
      <appender name="EMAIL"  class="org.apache.log4j.net.SMTPAppender">
              <param name="BufferSize" value="512" />
              <param name="SMTPHost" value="???" />
              <param name="From" value="???" />
              <param name="To" value="???" />
              <param name="Subject" value="Test LogMessage" />
              <layout class="org.apache.log4j.PatternLayout">
                      <param name="ConversionPattern" value="[%d{ISO8601}]%n%n%-5p%n%n%c%n%n%m%n%n" />
              </layout>
              <filter class="org.apache.log4j.varia.StringMatchFilter">
                      <param name="StringToMatch" value="Here is DEBUG" />
                      <param name="AcceptOnMatch" value="true" />
              </filter>
              <filter class="org.apache.log4j.varia.LevelRangeFilter">
                      <param name="LevelMax" value="FATAL"/>
                      <param name="LevelMin" value="DEBUG"/>
              </filter>
      </appender>
      <root>
        <appender-ref ref="EMAIL"/>
      </root>
    </log4j:configuration>and my test java code looks like this:
    import org.apache.log4j.Logger;
    import org.apache.log4j.xml.DOMConfigurator;
    public class Test{
       static Logger logger = Logger.getLogger(Test.class);
       public static void main(String args[]) {
          DOMConfigurator.configure("/home/agsteam/testing/log4j/Test.xml");
          logger.debug("Here is DEBUG");
          logger.info("Here is some INFO blah");
          logger.warn("Here is some WARN");
          logger.error("Here");
          logger.fatal("fatal here");
    }In the above example code every logger message matches, the debug, info, warn, error and fatal all match because of the the 'here' that is found in the message, even though the filter StringToMatch values has "Here is DEBUG".
    Thanks for any help.

    There's an XML parser in the tomcat common diretories. Check out the documentation for XML parser on www.java.sun.com for descriptions.
    Basically there's two levels of XML parsing, the first generates "events" for tags, attributes etc. the second comiples into a tree of Node objects.

  • Log4j : How to avoid duplicate logmessages in a multithreaded application?

    Hi,
    I m using log4j for my heavily multithreaded JAVA application. After my application comes up, a few minutes later , I find many duplicate logger messages on the console(only logger messages in threads are being displayed 8-9 times each). Is it that my application being multithreaded or is there something wrong with my configuration file?
    My log4j-config.xml is as below:-
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
                         configDebug="true">
         <appender name="ASYNC" class="org.apache.log4j.AsyncAppender" additivity="false">
                 <appender-ref ref="TEMP"/>
              <appender-ref ref="CONSOLE"/>
              <appender-ref ref="TRACE"/>
              <appender-ref ref="DEBUG"/>
              <appender-ref ref="INFO"/>
              <appender-ref ref="WARN"/>
              <appender-ref ref="ERROR"/>
              <appender-ref ref="FATAL"/>
         </appender>
         <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
              <!-- param name="ImmediateFlush" value="true"/-->
              <layout class="org.apache.log4j.PatternLayout">
                     <!-- param name="ConversionPattern"
                                value="%d %-5p [%t] %C %A (%F:%L) - %m%n"/-->
              </layout>
         </appender>
         <appender name="TEMP" class="org.apache.log4j.FileAppender">
              <param name="File" value="/var/log/abs/acpu_fun/acpu.log"/>
              <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern"
                                value="%d %-5p [%t] %C (%F:%L) - %m%n"/>
              </layout>
         </appender>
         <appender name="TRACE" class="org.apache.log4j.FileAppender">
         <param name="File" value="/var/log/abs/acpu_fun/acputrc.log"/>
         <param name="Threshold" value="TRACE"/>
         <layout class="org.apache.log4j.PatternLayout">
              <param name="ConversionPattern"
                               value="%d %-5p [%t] %C (%F:%L) - %m%n"/>
              </layout>
         </appender>
         <appender name="DEBUG" class="org.apache.log4j.FileAppender">
         <param name="File" value="/var/log/abs/acpu_fun/acpudeb.log"/>
         <param name="Threshold" value="DEBUG"/>
         <layout class="org.apache.log4j.PatternLayout">
              <param name="ConversionPattern"
                               value="%d %-5p [%t] %C (%F:%L) - %m%n"/>
              </layout>
         </appender>
         <appender name="INFO" class="org.apache.log4j.FileAppender">
         <param name="File" value="/var/log/abs/acpu_fun/acpuinfo.log"/>
         <layout class="org.apache.log4j.PatternLayout">
              <param name="ConversionPattern"
                               value="%d %-5p [%t] %C (%F:%L) - %m%n"/>
              </layout>
              <filter class="org.apache.log4j.varia.LevelMatchFilter">
                          <param name="LevelToMatch" value="info"/>
                 </filter>
         <filter class="org.apache.log4j.varia.DenyAllFilter"/>     
         </appender>
         <appender name="WARN" class="org.apache.log4j.FileAppender">
         <param name="File" value="/var/log/abs/acpu_fun/acpuwar.log"/>
         <layout class="org.apache.log4j.PatternLayout">
              <param name="ConversionPattern"
                               value="%d %-5p [%t] %C (%F:%L) - %m%n"/>
              </layout>
              <filter class="org.apache.log4j.varia.LevelMatchFilter">
                     <param name="LevelToMatch" value="warn"/>
                </filter>
         <filter class="org.apache.log4j.varia.DenyAllFilter"/>     
         </appender>
         <appender name="ERROR" class="org.apache.log4j.FileAppender">
         <param name="File" value="/var/log/abs/acpu_fun/acpuerr.log"/>
         <layout class="org.apache.log4j.PatternLayout">
              <param name="ConversionPattern"
                               value="%d %-5p [%t] %C (%F:%L) - %m%n"/>
              </layout>
              <filter class="org.apache.log4j.varia.LevelMatchFilter">
                     <param name="LevelToMatch" value="error"/>
                </filter>
         <filter class="org.apache.log4j.varia.DenyAllFilter"/>     
         </appender>
         <appender name="FATAL" class="org.apache.log4j.FileAppender">
         <param name="File" value="/var/log/abs/acpu_fun/acpufatl.log"/>
         <layout class="org.apache.log4j.PatternLayout">
              <param name="ConversionPattern"
                               value="%d %-5p [%t] %C (%F:%L) - %m%n"/>
              </layout>
              <filter class="org.apache.log4j.varia.LevelMatchFilter">
                     <param name="LevelToMatch" value="fatal"/>
                </filter>
         <filter class="org.apache.log4j.varia.DenyAllFilter"/>     
         </appender>
         <appender name="SLCS" class="org.apache.log4j.FileAppender">
              <param name="File" value="/var/log/slcs/slcs.log"/>
              <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern"
                                value="%d %-5p [%t] %C (%F:%L) - %m%n"/>
              </layout>
         </appender>
         <category name="com.aircell.abs.acpu.softwareloadconfig" additivity="false">
          <level value="debug"/>
         <appender-ref ref="SLCS"/>
          </category>
         <root>
              <priority value="info"/>
              <appender-ref ref="ASYNC"/>
         </root>
    </log4j:configuration>Regards.

    Hi,
    Did you find any solution for this problem. I am also encountering the same problem.
    Thanks,
    Mohit

Maybe you are looking for

  • My Ipod Touch 3rd Gen will not update

    I have a 3rd Gen Ipod Touch, and it states on the website that this supported to update to iOS 4.3 However, when I try to update, I get the same error message. "This version of the Ipod software (4.2.1) is the current version" anyone have any idea wh

  • Home Sharing menu, not showing up in iTunes

    I have home sharing turned on in iTunes, but the menu does not show up on the left side. How do I get it to show up?

  • Bidder Indicator 03 Not Defined Error

    Hi Gurus, While trying to modify Bidder Information through Manage Business partner we are getting the error Bidder Indicator 03 not defined. We are trying to make particular Bidder to allow Surrogate Bidding. Thus checking box "Permit Proxy Bidding"

  • HU MTR from ECC to EWM

    Hi, my scenario: 1. Crate PO and inbound Delivery in ECC; 2. Crate Transportation document in ECC and assign Inbound delivery; 3. Pack Inbound delivery in to HU MTR  (Mean of transport) in transportation document; 4. Transfer inbound delivery and HU

  • Where can I find tech specs for each flash player version?

    Hi, I'm looking for information on each flash player version (at least 9 and 10) and the items that they support. I'm having issues with an application that is being published to Flash Player 9, but when I try to use it with Flash Player 9 I see prob