Log4j SMTPAppender Experience

Hey everyone... couldn't find a better place to post this, so here it goes.
Has anyone used the SMTPAppender for log4j? The reason I ask this question is because I have a very high availability production server which is using this appender. It points to a remote SMTP server... this SMTP server was taken offline temporarily this AM. At that point the log4j appender wasn't able to communicate with it.
I am not totally sure how or why this problem occured, but it appears that log4j completely destroyed the TCP/IP stack on my server. Existing connections to the server started getting dropped, RDP response time got very slow, and eventually my server couldn't communicate with the mySQL server anymore. At first it appeared a switch went down... but we went to the failover hardware and it didn't stop the problem. I was getting a ton of "java.io.IOException: An established connection was aborted by the software in your host machine" on connections which have absolutely nothing to do with log4j.
After about 2 hours of downtime, I disabled the SMTPAppender in log4j and all problems went away... This wasn't a hardware issue, we went to 2 different failover servers (same experience). The ony thing it could have been was the fact that the log4j SMTPAppender couldn't send emails...
Anyone?

I am using the log4j SMTPAppender for several production systems. I usually only get a few messages each day, probably similar to the number you expect. However I haven't yet had the situation where the SMTP server goes down.
Wait a minute -- I did have almost that situation! The network people upgraded our server by putting a new version of McAfee antivirus onto it, and they left the checkbox "Don't let this machine be used for bulk e-mails" checked, which meant it wasn't allowed to connect to port 25 on other systems. And all that happened was that log4j output a message to the System.err log saying there was some kind of error. I didn't even notice for several days that there was a problem.
Maybe the difference was that in my case log4j didn't already have a connection to the server when the server "went down", but maybe in your case it did have a connection. But I wouldn't expect the appender to hold on to the session, I would only expect it to get a session when it needed to send a message. Could be wrong though, the source code is available to look at.

Similar Messages

  • Dummy://log4j.dtd (log4j problem in Oracle 10gAS)

    Hi,
    Wonder who has log4j.xml experience in EJB environment?
    I tried on Oracle 10gAS on Windows (the iAS version actually is still 9.0.4.2), my log4j initilization code looks like:
    InputStream inStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(sLogFileName);
    new DOMConfigurator().doConfigure(inStream, LogManager.getLoggerRepository());
    There is no problem to find the log4j.xml however the application server complains the log4j.dtd:
    04/10/08 18:48:18 Start process
    04/10/08 18:48:33 Oracle Application Server Containers for J2EE 10g (9.0.4.0.0) initialized
    04/10/08 18:49:09 log4j:ERROR Parsing error on line 0 and column 0
    04/10/08 18:49:09 log4j:ERROR File "dummy://log4j.dtd" not found.
    04/10/08 18:49:09 log4j:ERROR Could not parse input source [org.xml.sax.InputSource@177fa9a].
    04/10/08 18:49:09 org.xml.sax.SAXException: Stopping after fatal error: File "dummy://log4j.dtd" not found.
    04/10/08 18:49:09 at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1245)
    04/10/08 18:49:09 at org.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:501)
    04/10/08 18:49:09 at org.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:314)
    04/10/08 18:49:09 at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1097)
    04/10/08 18:49:09 at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:195)
    04/10/08 18:49:09 at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:665)
    04/10/08 18:49:09 at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
    I check DOMConfiguration.java, it contains:
    docBuilder.setErrorHandler(new SAXErrorHandler());
    docBuilder.setEntityResolver(new Log4jEntityResolver());
    // we change the system ID to a valid URI so that Crimson won't
    // complain. Indeed, "log4j.dtd" alone is not a valid URI which
    // causes Crimson to barf. The Log4jEntityResolver only cares
    // about the "log4j.dtd" ending.
    inputSource.setSystemId("dummy://log4j.dtd");
    Document doc = docBuilder.parse(inputSource);
    parse(doc.getDocumentElement());
    Anybody has an idea and help me? Thanks in advance.

    Abirami,
    This problem got solved as the static variables used for the JDBCAppender class are case sensitive.
    I modifed the variables Driver and URL. Now it is working for me.
    Here is the corrected code:
    log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender
    log4j.appender.db.Driver=oracle.jdbc.driver.OracleDriver
    log4j.appender.db.URL=jdbc racle:thin:server:1523 bname
    log4j.appender.db.user=username
    log4j.appender.db.password=password
    log4j.appender.db.sql=INSERT INTO LOG VALUES ('%d %-5p -%F %m')
    log4j.appender.db.layout=org.apache.log4j.PatternLayout
    log4j.appender.db.layout.ConversionPattern=%d %-5p - %m
    log4j.appender.db.Threshold=debug

  • 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

  • SMTPAppender in log4j.xml

    I apologize if this is not the correct thread for this post.
    I'm sure servlet developers can help me. Trying to get the org.apache.log4j.net.SMTPAppender class to work in a servlet environment. I have all jars required mail.jar, activation, and log4j-1.2.8.jar.
    Here is my defined appender:
    <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
              <param name="To" value="[email protected]"/>
              <param name="From" value=" "/>
              <param name="Subject" value="Servlet Error"/>
              <param name="SMTPHost" value="mail.favroweb.com"/>
              <param name="BufferSize" value="100"/>
              <param name="Threshold" value="DEBUG"/>
              <layout class="org.apache.log4j.PatternLayout">
                   <param name="ConversionPattern" value="=[%d{DATE}]%nServer hostname: %{server.hostname}%n%-5p %c{3} - %m%nThread name: %t%n"/>
              </layout>
         </appender>
    and the logger:
    <logger name="com.favroweb.resume.ResumeBuilder" additivity="false">
              <level value="DEBUG"/>
              <appender-ref ref="A2"/>
              <appender-ref ref="SMTP"/>
         </logger>
    I plan on only logging ERROR and above from this Logger but am using DEBUG for testing.
    A2 is a DailyRollingFileAppender and the class com.favroweb.resume.ResumeBuilder logs to this just fine.
    If anyone has any working examples. Please advise.

    That's pretty much what I have, except I'm using the old text configuration instead of the XML configuration. Only significant difference is that I have something in the "From" parameter.
    It would help if you said what was wrong. My first guess would be that you can't send an e-mail without a From address, but besides that there's also the possibility that your server won't relay to your To address and other similar problems. SMTPAppender works for me but I'm just sending to an address in the same domain so I don't have any relaying or authentication issues.

  • 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"

  • Log4j is not picking up an appender

    I configured a logger "mailLogger" in the properties file, and I defined an appender "mail".
    In the code, I get the logger by name, and list all the appenders.
    It tells me there are no appenders.
    Shouldn't the "mail" appender be added by putting it in log4j.properties?
    My log4j properties file:
    log4j.rootLogger=INFO, xmlout
    log4j.logger.mailLogger=ALL, mail
    log4j.appender.xmlout=biz.minaret.log4j.DatedFileAppender
    log4j.appender.xmlout.threshold=DEBUG
    log4j.appender.xmlout.Directory=/app/usrlogs
    log4j.appender.xmlout.Prefix=sfgpo.
    log4j.appender.xmlout.Suffix=.log
    log4j.appender.xmlout.Append=true
    log4j.appender.xmlout.layout=org.apache.log4j.xml.XMLLayout
    log4j.appender.mail=org.apache.log4j.net.SMTPAppender
    log4j.appender.mail.To=[email protected]
    log4j.appender.mail.From="SFG Application Mailer"
    log4j.appender.mail.SMTPHost=myhost.myorg.com
    log4j.appender.mail.Threshold=ERROR
    log4j.appender.mail.BufferSize=1
    log4j.appender.mail.Subject=SFG PO event notice
    log4j.appender.mail.layout=com.moodys.sfg.utility.logger.MoodysHTMLLayout
    log4j.additivity.mailLogger=true
    log4j.appender.mail.layout.LocationInfo=true
    My java code:
    import java.util.Enumeration;
    import org.apache.log4j.Appender;
    import org.apache.log4j.Logger;
    import org.apache.log4j.net.SMTPAppender;
    Logger logger = Logger.getLogger("mailLogger");
    Enumeration en = logger.getAllAppenders();
    System.out.println("Listing all appenders for the logger");
    while (en.hasMoreElements())
         Appender a = (Appender)en.nextElement();
         String apName = a.getName();
         System.out.println(" Appender: name = " + apName);
    System.out.println("End of appender list");
    The console output is:
    Llisting all appenders for the logger
    End of appender list
    Why does it not find my appender "mail"?
    Thanks in advance.
    Elliot

    Hi Elliot.
    I had the same trouble and I resolved when I commented out the "rootLogger line", as follow below:
    # disabling line
    # log4j.rootLogger=INFO, xmlout
    I hope that helps you.
    Gui Pereira.

  • 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.

  • Utilize Apache Commons Logging and Log4J

    Hello Forum,
    I have some questions regarding the usage of Apache Commons Logging in combination
    with Log4J. As wer're doing cross platform development for JBoss and NetWeaver I
    can't rely on SAP Logging facilities.
    The information I used to set up the logging are written down in the Article:
    "Integrating 3rd Party Logging Frameworks into SAP NetWeaver".
    I created the package "util" within my testing project and placed the .java classes
    "SapLogAppender.java" and "SapLogJclImpl.java" into it.
    After that I created a log4j.xml configuration file with the following content:
    [code]
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
      <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%-5p %C (Line %L) - %m%n"/>
        </layout>
      </appender>
      <appender name="FILE_LOG" class="org.apache.log4j.FileAppender">
        <param name="File" value="${user.dir}/log/myTestLogFile.log"/>     
        <param name="append" value="false"/>
        <param name="ImmediateFlush" value="true"/>
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d %-5p %C (Line %L) - %m%n"/>
        </layout>
      </appender>
      <appender name="SAP_LOG" class="de.collogia.util.SapLogAppender">
        <param name="categoryName" value="sapmon"/>     
      </appender>     
      <category name="de.collogia" additivity="false">
        <priority value="debug" />
        <appender-ref ref="FILE_LOG"/>
        <appender-ref ref="SAP_LOG"/>
      </category>
      <root>
        <priority value="error" />
        <appender-ref ref="STDOUT"/>
      </root>
    </log4j:configuration>
    [/code]
    After that I created the file "commons-logging.properties" with the following content:
    [code]
    org.apache.commons.logging.Log=de.collogia.util.SapLogJclImpl
    [/code]
    I put the configuration files in the root of the classes folder, created the .jar in the
    EJB-Project, created the .ear in the EAR-Project and deployed the application.
    The application contains just a simple session bean with a remotable method that
    shall do some logging using the following statements:
    [code]
    LOG.trace("Testing log trace level");
    LOG.debug("Testing log debug level");
    LOG.info("Testing log info level");
    [/code]
    The only logging output I'm able to find is located in file:
    C:\NWAS_JAVAEE5\JP1\JC00\j2ee\cluster\server0\log\applications.0.log
    and it logs the info level logging message.
    If I understood the afore mentioned paper right the debug and trace level logging
    mesages shall go to file:
    C:\NWAS_JAVAEE5\JP1\JC00\j2ee\cluster\server0\log\defaultTrace.0.trc
    Unfortunately there isn't logged anything. I looked through the log facility
    in SAPMMC but there isn't anything to.
    The most inconvenient behaviour of the NetWeaver is that since the my stateless
    session beans class contains the logging code I'm only able to deploy once.
    A second deplyoment fails with a large Exception I will append below. The problem
    is definitely related to logging - after removing the line:
    [code]
        /** The <code>Log</code> object for this class. */
        private static final Log LOG = LogFactory.getLog(TravelAgentBean.class);
    [/code]
    from the stateless session bean I'm able to deploy as often I like to.
    The line re-enabled, deployed the ear, invoking the remotable method once and every
    subsequent deplyoment fails with:
    [code]
    [EXCEPTION]
    #1#com.sap.engine.services.orpersistence.container.deploy.ActionException: Clusterwide exception: java.io.IOException: Cannot delete file: C:
    NWAS_JAVAEE5
    JP1
    JC00
    j2ee
    cluster
    apps
    sap.com
    test2Ear
    orpersistence
    jars
    test2Ejb.jar
         at com.sap.engine.services.orpersistence.model.builders.FileUtils.deleteDirectory(FileUtils.java:188)
         at com.sap.engine.services.orpersistence.model.builders.FileUtils.deleteDirectory(FileUtils.java:184)
         at com.sap.engine.services.orpersistence.container.util.FileUtils.deleteDirectory(FileUtils.java:149)
         at com.sap.engine.services.orpersistence.container.deploy.impl.ConfigurationsExtractor.execute(ConfigurationsExtractor.java:59)
         at com.sap.engine.services.orpersistence.container.deploy.ContainerAdapter.downloadApplicationFiles(ContainerAdapter.java:248)
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:627)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
         at com.sap.engine.services.orpersistence.container.util.FileUtils.deleteDirectory(FileUtils.java:151)
         at com.sap.engine.services.orpersistence.container.deploy.impl.ConfigurationsExtractor.execute(ConfigurationsExtractor.java:59)
         at com.sap.engine.services.orpersistence.container.deploy.ContainerAdapter.downloadApplicationFiles(ContainerAdapter.java:248)
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:627)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
    #1.5 #0007E97510B5000E00000039000001A8005B19B7C7A8358A#1174557303064#com.sap.engine.services.deploy##com.sap.engine.services.deploy#Administrator#8#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#/System/Server/Services/Deploy#Plain#Exception in operation startInitiallyApp with application sap.com/test2Ear.###
    #1.5 #0007E97510B5000E0000003A000001A8005B19B7C7A8358A#1174557303064#com.sap.engine.services.deploy##com.sap.engine.services.deploy#Administrator#8#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error##Java###Exception in operation startInitiallyApp with application sap.com/test2Ear.
    Reason : Exception in operation startInitiallyApp with application sap.com/test2Ear.
    [EXCEPTION]
    #1#com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Exception in operation startInitiallyApp with application sap.com/test2Ear.
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.rollbackPart(ApplicationTransaction.java:485)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:382)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
    Caused by: com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Exception while downloading files of application sap.com/test2Ear.
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:642)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         ... 31 more
    Caused by: com.sap.engine.services.orpersistence.container.deploy.ActionException: Clusterwide exception: java.io.IOException: Cannot delete file: C:
    NWAS_JAVAEE5
    JP1
    JC00
    j2ee
    cluster
    apps
    sap.com
    test2Ear
    orpersistence
    jars
    test2Ejb.jar
         at com.sap.engine.services.orpersistence.model.builders.FileUtils.deleteDirectory(FileUtils.java:188)
         at com.sap.engine.services.orpersistence.model.builders.FileUtils.deleteDirectory(FileUtils.java:184)
         at com.sap.engine.services.orpersistence.container.util.FileUtils.deleteDirectory(FileUtils.java:149)
         at com.sap.engine.services.orpersistence.container.deploy.impl.ConfigurationsExtractor.execute(ConfigurationsExtractor.java:59)
         at com.sap.engine.services.orpersistence.container.deploy.ContainerAdapter.downloadApplicationFiles(ContainerAdapter.java:248)
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:627)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
         at com.sap.engine.services.orpersistence.container.util.FileUtils.deleteDirectory(FileUtils.java:151)
         at com.sap.engine.services.orpersistence.container.deploy.impl.ConfigurationsExtractor.execute(ConfigurationsExtractor.java:59)
         at com.sap.engine.services.orpersistence.container.deploy.ContainerAdapter.downloadApplicationFiles(ContainerAdapter.java:248)
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:627)
         ... 35 more
    #1.5 #0007E97510B5000E0000003C000001A8005B19B7C7A8358A#1174557303079#com.sap.engine.services.deploy##com.sap.engine.services.deploy#Administrator#8#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#/System/Server/Services/Deploy#Plain#Exception in operation startApp with application sap.com/test2Ear.###
    #1.5 #0007E97510B5000E0000003D000001A8005B19B7C7A8358A#1174557303079#com.sap.engine.services.deploy##com.sap.engine.services.deploy#Administrator#8#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error##Java###Exception in operation startApp with application sap.com/test2Ear.
    Reason : Exception in operation startApp with application sap.com/test2Ear.
    [EXCEPTION]
    #1#com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Exception in operation startApp with application sap.com/test2Ear.
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.rollbackPart(ApplicationTransaction.java:485)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:382)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
    Caused by: com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Exception while downloading files of application sap.com/test2Ear.
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:642)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         ... 27 more
    Caused by: com.sap.engine.services.orpersistence.container.deploy.ActionException: Clusterwide exception: java.io.IOException: Cannot delete file: C:
    NWAS_JAVAEE5
    JP1
    JC00
    j2ee
    cluster
    apps
    sap.com
    test2Ear
    orpersistence
    jars
    test2Ejb.jar
         at com.sap.engine.services.orpersistence.model.builders.FileUtils.deleteDirectory(FileUtils.java:188)
         at com.sap.engine.services.orpersistence.model.builders.FileUtils.deleteDirectory(FileUtils.java:184)
         at com.sap.engine.services.orpersistence.container.util.FileUtils.deleteDirectory(FileUtils.java:149)
         at com.sap.engine.services.orpersistence.container.deploy.impl.ConfigurationsExtractor.execute(ConfigurationsExtractor.java:59)
         at com.sap.engine.services.orpersistence.container.deploy.ContainerAdapter.downloadApplicationFiles(ContainerAdapter.java:248)
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:627)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
         at com.sap.engine.services.orpersistence.container.util.FileUtils.deleteDirectory(FileUtils.java:151)
         at com.sap.engine.services.orpersistence.container.deploy.impl.ConfigurationsExtractor.execute(ConfigurationsExtractor.java:59)
         at com.sap.engine.services.orpersistence.container.deploy.ContainerAdapter.downloadApplicationFiles(ContainerAdapter.java:248)
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:627)
         ... 35 more
    #1.5 #0007E97510B5000E0000003F000001A8005B19B7C7A8358A#1174557303095#com.sap.engine.services.deploy##com.sap.engine.services.deploy#Administrator#8#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#/System/Server/Services/Deploy#Plain#Exception while downloading files of application sap.com/test2Ear.###
    #1.5 #0007E97510B5000E00000040000001A8005B19B7C7A8358A#1174557303095#com.sap.engine.services.deploy##com.sap.engine.services.deploy#Administrator#8#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error##Java###Exception while downloading files of application sap.com/test2Ear.
    Reason : Exception while downloading files of application sap.com/test2Ear.
    [EXCEPTION]
    #1#com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Exception while downloading files of application sap.com/test2Ear.
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:642)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
    Caused by: com.sap.engine.services.orpersistence.container.deploy.ActionException: Clusterwide exception: java.io.IOException: Cannot delete file: C:
    NWAS_JAVAEE5
    JP1
    JC00
    j2ee
    cluster
    apps
    sap.com
    test2Ear
    orpersistence
    jars
    test2Ejb.jar
         at com.sap.engine.services.orpersistence.model.builders.FileUtils.deleteDirectory(FileUtils.java:188)
         at com.sap.engine.services.orpersistence.model.builders.FileUtils.deleteDirectory(FileUtils.java:184)
         at com.sap.engine.services.orpersistence.container.util.FileUtils.deleteDirectory(FileUtils.java:149)
         at com.sap.engine.services.orpersistence.container.deploy.impl.ConfigurationsExtractor.execute(ConfigurationsExtractor.java:59)
         at com.sap.engine.services.orpersistence.container.deploy.ContainerAdapter.downloadApplicationFiles(ContainerAdapter.java:248)
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:627)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
         at com.sap.engine.services.orpersistence.container.util.FileUtils.deleteDirectory(FileUtils.java:151)
         at com.sap.engine.services.orpersistence.container.deploy.impl.ConfigurationsExtractor.execute(ConfigurationsExtractor.java:59)
         at com.sap.engine.services.orpersistence.container.deploy.ContainerAdapter.downloadApplicationFiles(ContainerAdapter.java:248)
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:627)
         ... 35 more
    #1.5 #0007E97510B5000E00000041000001A8005B19B7C7A8358A#1174557303095#com.sap.engine.services.deploy##com.sap.engine.services.deploy#Administrator#8#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error##Plain###
    Operation startApp over application sap.com/test2Ear finished with errors on server 2564250. For more detailed information see traces of Deploy Service.#
    #1.5 #0007E97510B5000E00000042000001A8005B19B7C7A8358A#1174557303095#com.sap.engine.services.deploy##com.sap.engine.services.deploy#Administrator#8#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error##Plain###
    Error occurred on server 2564250 during startApp sap.com/test2Ear : com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Exception while downloading files of application sap.com/test2Ear.
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:642)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
    Caused by: com.sap.engine.services.orpersistence.container.deploy.ActionException: Clusterwide exception: java.io.IOException: Cannot delete file: C:
    NWAS_JAVAEE5
    JP1
    JC00
    j2ee
    cluster
    apps
    sap.com
    test2Ear
    orpersistence
    jars
    test2Ejb.jar
         at com.sap.engine.services.orpersistence.model.builders.FileUtils.deleteDirectory(FileUtils.java:188)
         at com.sap.engine.services.orpersistence.model.builders.FileUtils.deleteDirectory(FileUtils.java:184)
         at com.sap.engine.services.orpersistence.container.util.FileUtils.deleteDirectory(FileUtils.java:149)
         at com.sap.engine.services.orpersistence.container.deploy.impl.ConfigurationsExtractor.execute(ConfigurationsExtractor.java:59)
         at com.sap.engine.services.orpersistence.container.deploy.ContainerAdapter.downloadApplicationFiles(ContainerAdapter.java:248)
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:627)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
         at com.sap.engine.services.orpersistence.container.util.FileUtils.deleteDirectory(FileUtils.java:151)
         at com.sap.engine.services.orpersistence.container.deploy.impl.ConfigurationsExtractor.execute(ConfigurationsExtractor.java:59)
         at com.sap.engine.services.orpersistence.container.deploy.ContainerAdapter.downloadApplicationFiles(ContainerAdapter.java:248)
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:627)
         ... 35 more
    #1.5 #0007E97510B5000E00000044000001A8005B19B7C7A8358A#1174557303111#com.sap.engine.services.deploy##com.sap.engine.services.deploy#Administrator#8#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#/System/Server/Services/Deploy#Plain#Clusterwide exception: server ID 2564250:com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Exception while downloading files of application sap.com/test2Ear.
         at com.sap.engine.services.deploy.server.editor.impl.second.DIReaderImpl2.bootstrapApp(DIReaderImpl2.java:642)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.bootstrapApplication(ApplicationTransaction.java:763)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.bootstrapApplication(StartInitiallyTransaction.java:228)
         at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:132)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
         at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:639)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:630)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:483)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:206)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:153)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:807)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
         at com.sap.engine.services.cross.fca.MessageReader.run(M

    Guten Tag Henning
    > adjusting the logging severity like outlined in this
    > thread
    > <a href="/thread/2 [original link is broken]
    > 34301">Thread</a> helped.
    > I'm able to see more logging messages within the log
    > files now.
    Good to hear
    > But am I right with my assumption that though I'm
    > using my LOG object it's
    > not really using the logging frameworks? Every
    > logging out put contains the word
    > "plain" as pefix:
    >
    >
    > stateless.TravelAgentBean#Plain###Testing info level
    > logging#
    >
    >
    > So it's not really using the logging system?
    Well, yes - and no. The output you see is from the SAP Logging framework. But behind it still uses log4j / commons logging. And that's not surprising at all. That is exactly what the article describes - a bridge (routing) to SAP Logging, right? This is useful when you are porting existing apps (potentially using several logging frameworks) to the SAP NetWeaver Application Server and adapt them to use the SAP Logging framework thus achieving a unified logging experience. However, if you want to simply use log4j, I'd suggest that you just follow the steps described in Logging Questions isn't really
    > clear to me - What is meant by:
    >
    > >The re-deployment fails because your file-system
    > resources are locked by the
    > >class loader of the previous application version and
    > the this classloader is still in use ( >not GC-ed ).
    > >Please check if your application uses registration
    > pattern involving the application >classloader.
    >
    > I googled a bit on "registration pattern" but didn't
    > find anything really useful.
    > I'm not dealing with the classloader manually - any
    > other tips/ further explanations
    > on this?
    OK, it was not actually meant to serve as a solution, but more as an explanation for the error you experienced. But you're right, maybe I had to elaborate a bit. You already spotted the culprit:
    LogFactory.getLog(TravelAgentBean.class)
    With this line of code you hand the TravelAgentBean class to the Commons Logging library which then keeps (eternally) that reference and hence the classloader of your application. This prevents from deleting the jars on the next deployment since the resources are locked by the classloader.
    Unfortunately, I'm not aware of any real solution right now. I just have the strong feeling that if you pack the logging frameworks together within your app (as opposed to as a separate library), this error should not occur at all.
    HTH!
    -Vladimir

  • Design patterns in log4j

    hi
    i have a question that was asked to me
    what pattern does log4j appender(consoleappender,rollingfileappender etc) implement?
    candidates can be dao, facade etc....
    can somebody xplain what pattern does it use and how
    techy

    actually this question was given in an exam and the
    answer that the teacher gave was proxy pattern.Actually, if you think about it, only the individuals that programmed the log4j code know what design patterns they actually used.
    As an outsider, just because an application "looks" like a pattern might have been used, does not mean it was actually used to design the application.
    Futhermore, just because an application's functionality may fit in well with how one envisions the pattern's possible implementation, this too, does automatically equate or represent the fact that the pattern(s) were used.
    This is a poor question to have on an exam, especailly if the individuals taking the exam were not the ones that worked on log4j. If the exam was given to log4j programmers, then it is a reasonable question.
    To ask this question to assess knowledge/experience with log4j or object-oriented design patterns is a bad decision, in my opinion.
    Only close and detailed inspection of the log4j source code will reveal what design patterns were actually used. Again, to question someone on this is inappropriate, unless it is for the log4j development team, in my opinion.
    i m not able to understand how it applies proxy
    pattern?I understand your confusion.

  • Log4j and JavaMail.

    HI,
    I am using log4j 1.2.8 for logging and I plan to use the SMTPAppender for sending mails of those exceptions.I am using javamail mail.jar version 1.3.
    upon execution, i get the following error.
    log4j:ERROR Error occured while sending e-mail notification.
    javax.mail.NoSuchProviderException: smtp
         at javax.mail.Session.getService(Session.java:611)
         at javax.mail.Session.getTransport(Session.java:541)
         at javax.mail.Session.getTransport(Session.java:484)
         at javax.mail.Session.getTransport(Session.java:464)
         at javax.mail.Session.getTransport(Session.java:519)
         at javax.mail.Transport.send0(Transport.java:155)
         at javax.mail.Transport.send(Transport.java:81)
         at org.apache.log4j.net.SMTPAppender.sendBuffer(Unknown Source)
         at org.apache.log4j.net.SMTPAppender.append(Unknown Source)
         at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
         at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57)
         at org.apache.log4j.Category.callAppenders(Category.java:187)
         at org.apache.log4j.Category.forcedLog(Category.java:372)
         at org.apache.log4j.Category.error(Category.java:303)
         at com.saterisystems.api_selfcarev1r0.API_getServiceList.logon(API_getServiceList.java:93)
         at com.saterisystems.api_selfcarev1r0.API_getServiceList.main(API_getServiceList.java:427)
    I have configured the mail server and related stuff in the log4j properties file.
    Can anyone help me out please?
    Thanks & Regards,
    Anand Kapadi

    Start here:
    http://java.sun.com/products/javamail/FAQ.html#servletSecurityManager

  • Log4J Error Message

    Hello,
    I have this code:
    public static final String LOGGER_NAME="email_notifier_implementation";
    emailAppender=new SMTPAppender(new TriggeringEventEvaluator()
    public boolean isTriggeringEvent(LoggingEvent loggingEvent)     
    { return true; }
    logger=Logger.getLogger(LOGGER_NAME);
    logger.setLevel(Level.ALL);
    logger.addAppender(emailAppender);
    emailAppender.setSMTPHost(host);
    emailAppender.setFrom(from);
    emailAppender.setSubject(subject);
    emailAppender.setTo(buildEmailRecieversList(to));
    logger.log(Level.ALL,message); //message is an argument to the functionWhen I run it, I get an error:
    log4j:ERROR Message object not configured.
    Can somebody please explain me why this error is happening and how to fix it?
    Thanks.

    Double post
    http://forum.java.sun.com/thread.jspa?threadID=685425&
    tstart=0I am very sorry. When I sent it in the first time, it didn't respond and so I thought the post was not sent and I sent it again.
    Sorry...

  • Log4j:ERROR Message object not configured.

    while trying to use the SMTPAppender i got this message:
    log4j:ERROR Message object not configured.
    any idea?
    thank you

    It is unfortunte that this tops the Google serach
    result for the subject text. It is message like this
    that really pollutes all the good information that
    are found in the web space. Message like this not
    only perpetuates the "anti-social geek, I'm God and
    you're not" stereotype, but also alienates the next
    generation of aspired developers that this country is
    so in need of.Did you register an account just to insult a pretty well-dedicated group of volunteers here? These people offer to help people they don't know with absolutely no benefit to themselves except to further the process of learning. Maybe there' s a warm fuzzy stemming from the fact that the person whose question was answered might have learned something.
    If this is the type of &#97;sshat developer you would like to foster through the IT world, then you can try to put up with these people. People who are unwilling to communicate their problems do not deserve to have them solved. People who are simply attempting to skate by and be spoonfed through what's left of their mediocre careers can go elsewhere for help.
    Thank you for your answer, and I admire that you posted here after you solved your own problem. Just leave out the cheeky, holier-than-thou diatribe next time. Go to Javaranch if you want to chat about Java and have your hand held while you bumble around.

  • 9.0.3 and Log4J problem

    Hi - running 9.0.3 with WebCache and HttpServer on Windows2000.
    If I add the Log4J-1.2.8.jar file to my /lib directory to use log4j, I cannot get the Enterprise Manager Console running. This is the error:
    500 Internal Server Error
    java.lang.NoClassDefFoundError
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:190)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpApplication.loadServlet(HttpApplication.java:1890)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpApplication.findServlet(HttpApplication.java:4355)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:2484)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:617)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:479)
    The NT processes in the Control panel/services are all running, WebCache administrator on port 4000 is running fine, the container accepts requests and the app seems to be fine.
    Anyody experience problems with Log4J so far?
    Tks
    Andre

    Found bug on Metalink with a resolution...
    Tks
    Put the new log4j.jar file in completely new location and modify application.xml for your OC4J instance to include the new log4j.jar using: <library path="/private/ias/ora9ias/mylog4j/lib" /> ---Use this if the same log4j.jar is being used by more than one application

  • Email via log4j

    i am using log4j to email various errors in my web application.
    But i can do it only for the errors found at server level.
    I want to refine the case and want to configure the thing on the package level.Please help me out.
    For example if error at hibernate occurs a mail is fired to me, if error occurs at package define by me say com.tg.util then mail get fired to my another colleage.
    How i can achieve that??
    Thanks in advance.
    Here is my simple code
    <appender name="TG_EMAIL" class="org.apache.log4j.net.SMTPAppender">
    <param name="Threshold" value="INFO"/>
    <param name="To" value="[email protected]"/>
    <param name="From" value="[email protected]"/>
    <param name="Subject" value="JBoss Sever Errors"/>
    <param name="SMTPHost" value="192.168.0.10"/>
    <param name="BufferSize" value="100"/>
    <layout class="org.apache.log4j.PatternLayout">
                   <param name="ConversionPattern" value="%d{dd MMM yyy HH:mm:ss}, %-6p %C: [%t] %M:%L %m %n"/>
    </layout>
    </appender>

    I found this in java tech questions
    If u want to send mails using your java programs u can use JMS API for those purposes. a demonstration code could be found at www.javaguide.co.nr
    http://tech.yahoo.com/qa/20060625062606AAUluyz
    I went there and there is a nice piece of code and utilities in sending email section

  • Standard uses of log4j in designing business software

    I'm currently doing a research on the standard usage of the 5 levels of Log4j. My question is that is there a standard convention of which level to use when we program? Like should we use DEBUG more often than INFO? I understand that there are certain circumstances which require us to use a specific level. However, how about when we don't have the special cases; which level do we use usually (esp. when we write programs at the production level)? Is there a general concensus/convention/standard?
    Also, what is a good approach/standard for logging entry and exit of the method?
    I know that this might be a quite specific question. I'm also trying to find out what other programmers/companies are doing...(do they have a standard way of using it?) But It seems really hard to find exact information I'm looking for. If anyone could offer some outlets for finding the solutions to my question, that'd be great. Thank you.

    This is a bit off-topic, since this forum is dedicated to Java Business Integration (JSR 208) specifically, rather than general business software topics. Also, JBI provides direct support for the standard Java logger. Other loggers can be used by JBI plug-in components, but these should be either adapted to the standard logger, or else the ability to correlate activity by multiple plug-in components will be lost, or at least made very difficult.
    I'm not aware of a general consensus about use of logging levels, and separate loggers. In general, it is good to remember there are two separate audiences for logs:
    - users, wishing to understand the behaviour of the application (particularly misbehaviour!)
    - developers, wishing to understand the technical behaviour of the application.
    There are two separate domains. The user needs to understand what is happening in terms of application domain concepts. The developer needs to understand what is happening in terms of implementation domain concepts. (In O-O these can intersect.)
    For each type of logger audience, the various logging levels are used to develop a more and more detailed picture of application activities, as the level is increased to finer granularity. Each level should develop a coherent, consistent explanation of applicaition activity. It helps to have project guidelines about what should be logged at each level, so that levels are used consistently throughout an application.
    The actual guidelines are a product of the application domain itself, pragmatism, and developer "taste." We've all seen logging systems that permit flexible, useful diagnosis of troubles experiences by production systems, and we've all seen counterexamples: logging systems that produce meaningless data, or that cripple the production system when turned on at the lowest logging volume. We tend of imitate those successful examples, and avoid repeating the failures.
    There are academic studies of using program traces of a specific kind to help validate the program (i.e., the trace can be demonstrated to be coming from a correct or incorrect implementation). These studies don't look at logging levels, as far as I have seen: they assume a trace that is related to a formal model of the application, which is much different in purpose than most application logging.

Maybe you are looking for