You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Adam K <ad...@gmail.com> on 2006/12/14 21:51:37 UTC

Log4J +struts

Hi all I am working with struts and was recently told about log4j.  I am
looking to implement this into an application, but have run into a couple of
issues.  I have so far managed to get the application to log to a file, but
not in the manner that I want.  Currently the application is logging by
placing the following code in a couple classes to test how log4j works.
(The capital letters and bold are replaced with what they should be )

This is declared at the top of each class:

static Logger logger = Logger.getLogger("NAMEOFCLASS.class");


The following is declared inside the execute method in each class:

        FileAppender myFileAppender = new FileAppender(new PatternLayout(),
"../log4jlog.log", true);
        myFileAppender.activateOptions();
        logger.addAppender(myFileAppender);
        logger.setLevel((Level) Level.DEBUG);

        logger.info("Entering NAMEOFCLASS");



This works, but as I said there are 2 issues.

1)  I don't want to be declaring the file location in each of the classes
2) Everytime I instantiate the class again I get another log writer.  I am
going to be trying to create a singleton version of the logger, but I am
somewhat confused as I thought each class used it's own logger.

Thanks in advance for any help you can provide.

Re: Log4J +struts

Posted by Adam K <ad...@gmail.com>.
It's comming in properly.  What I meant was that the Application server
system logs are marking it as INFO level, but in the actual message the
log4j message has the proper error warning.

thanks again for all of the help.



On 12/14/06, James Stauffer <st...@gmail.com> wrote:
>
> I don't quite follow.  Please give an example of logger call and the
> output that it produces.
>
> On 12/14/06, Adam K <ad...@gmail.com> wrote:
> > It does that I just meant that it doesn't print out in the console with
> a
> > debug level.  The word debug is in the message.  Again I don't know why
> I
> > thought it would come into the server log with a debug level.  Hopefully
> > that makes sense.
> >
> >
> > On 12/14/06, James Stauffer <st...@gmail.com> wrote:
> > >
> > > If you call logger.debug then %p should be printed as DEBUG.
> > >
> > > On 12/14/06, Adam K <ad...@gmail.com> wrote:
> > > > Thanks now all I have to do is change it from using the console
> output
> > > to
> > > > using it's own logfile and I will be one happy camper.
> > > > One final question/comment for those who are looking for the
> messages in
> > > > your server logs they appear as info regardless of the message
> > > > classification (Don't ask me why I thought the classification would
> be
> > > > communicated.
> > > >
> > > > thanks again to all.
> > > >
> > > >
> > >
> > >
> > > --
> > > James Stauffer        http://www.geocities.com/stauffer_james/
> > > Are you good? Take the test at http://www.livingwaters.com/good/
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > > For additional commands, e-mail: log4j-user-help@logging.apache.org
> > >
> > >
> >
> >
>
>
> --
> James Stauffer        http://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>

Re: Log4J +struts

Posted by James Stauffer <st...@gmail.com>.
I don't quite follow.  Please give an example of logger call and the
output that it produces.

On 12/14/06, Adam K <ad...@gmail.com> wrote:
> It does that I just meant that it doesn't print out in the console with a
> debug level.  The word debug is in the message.  Again I don't know why I
> thought it would come into the server log with a debug level.  Hopefully
> that makes sense.
>
>
> On 12/14/06, James Stauffer <st...@gmail.com> wrote:
> >
> > If you call logger.debug then %p should be printed as DEBUG.
> >
> > On 12/14/06, Adam K <ad...@gmail.com> wrote:
> > > Thanks now all I have to do is change it from using the console output
> > to
> > > using it's own logfile and I will be one happy camper.
> > > One final question/comment for those who are looking for the messages in
> > > your server logs they appear as info regardless of the message
> > > classification (Don't ask me why I thought the classification would be
> > > communicated.
> > >
> > > thanks again to all.
> > >
> > >
> >
> >
> > --
> > James Stauffer        http://www.geocities.com/stauffer_james/
> > Are you good? Take the test at http://www.livingwaters.com/good/
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > For additional commands, e-mail: log4j-user-help@logging.apache.org
> >
> >
>
>


-- 
James Stauffer        http://www.geocities.com/stauffer_james/
Are you good? Take the test at http://www.livingwaters.com/good/

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: Log4J +struts

Posted by Adam K <ad...@gmail.com>.
It does that I just meant that it doesn't print out in the console with a
debug level.  The word debug is in the message.  Again I don't know why I
thought it would come into the server log with a debug level.  Hopefully
that makes sense.


On 12/14/06, James Stauffer <st...@gmail.com> wrote:
>
> If you call logger.debug then %p should be printed as DEBUG.
>
> On 12/14/06, Adam K <ad...@gmail.com> wrote:
> > Thanks now all I have to do is change it from using the console output
> to
> > using it's own logfile and I will be one happy camper.
> > One final question/comment for those who are looking for the messages in
> > your server logs they appear as info regardless of the message
> > classification (Don't ask me why I thought the classification would be
> > communicated.
> >
> > thanks again to all.
> >
> >
>
>
> --
> James Stauffer        http://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>

Re: Log4J +struts

Posted by James Stauffer <st...@gmail.com>.
If you call logger.debug then %p should be printed as DEBUG.

On 12/14/06, Adam K <ad...@gmail.com> wrote:
> Thanks now all I have to do is change it from using the console output to
> using it's own logfile and I will be one happy camper.
> One final question/comment for those who are looking for the messages in
> your server logs they appear as info regardless of the message
> classification (Don't ask me why I thought the classification would be
> communicated.
>
> thanks again to all.
>
>


-- 
James Stauffer        http://www.geocities.com/stauffer_james/
Are you good? Take the test at http://www.livingwaters.com/good/

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: Log4J +struts

Posted by Adam K <ad...@gmail.com>.
Thanks now all I have to do is change it from using the console output to
using it's own logfile and I will be one happy camper.
One final question/comment for those who are looking for the messages in
your server logs they appear as info regardless of the message
classification (Don't ask me why I thought the classification would be
communicated.

thanks again to all.

Re: Log4J +struts

Posted by James Stauffer <st...@gmail.com>.
1.  If possible run with -Dlo4j.debug in the command that starts Java.
 That will cause log4j to print into to std out about how it is
configured.
2. By "go about using the logger" I assume, you mean creating logs.
In every class where you want logging, add "Logger logger =
Logger.getLogger(getClass());"  The name calls to logger.debug,
logger.info, etc.
Example:
logger.debug("About to do something");
try {
  logger.info("Tada!";
  ...
} catch(FileNotFoundException e) {
  logger.error("Unable to ...", e);
}


On 12/14/06, Adam K <ad...@gmail.com> wrote:
> I'm using this but I have 2 questions (yet again).
>
> 1) How do I know if the class is being picked up properly, as I don't see
> any errors in the logs files
> 2) How do I go about using the logger within the application - that is how
> do I get a handle to it ?
>
> again thanks for all the help.
>
>
> On 12/14/06, James Stauffer <st...@gmail.com> wrote:
> >
> > If you name your file "log4j.xml" and if is accessible in the
> > classpath (i.e. WEB-INF/classes), then log4j will automatically find
> > it and configure itself with it.
> >
> > On 12/14/06, Adam K <ad...@gmail.com> wrote:
> > > See the "Default Initialization Procedure" section at
> > > http://logging.apache.org/log4j/docs/manual.html
> > >
> > > I have looked at this, but am now more confused than previously.  (Part
> > of
> > > the problem is that I tried to use parts for that page which obviously
> > > resulted in disaster.
> > >
> > > I was looking around and found the following:
> > >
> > http://mail-archives.apache.org/mod_mbox/logging-log4j-user/200207.mbox/%3C8426231879.20020717150829@visi.com%3E
> > >
> > > and would like to clarify the steps that I should be following (thanks
> > for
> > > your patience with me on this one).
> > >
> > > 1) add log4j.jar to WEB-INF/lib/    -- COMPLETE
> > > 2) create a log4jConfiguration.xml file and place it in
> > /WEB-INF/src/java/
> > > ------COMPLETE When compiled the file is appearing under
> > /WEB-INF/classes
> > >
> > >  The following is the xml file
> > >
> > > <?xml version="1.0" encoding="UTF-8" ?>
> > > <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
> > >
> > > <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
> > >   <appender name="console" class="org.apache.log4j.ConsoleAppender">
> > >     <param name="Target" value="System.out"/>
> > >     <layout class="org.apache.log4j.PatternLayout">
> > >       <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
> > >     </layout>
> > >   </appender>
> > >
> > >   <root>
> > >     <priority value ="debug" />
> > >     <appender-ref ref="console" />
> > >   </root>
> > >
> > > </log4j:configuration>
> > >
> > > At this point I am wondering if I should be doing something similar to
> > what
> > > is mentioned in the e-mail archive that I borrowed.  Again if you can
> > advise
> > > me I would really appreciate it.
> > >
> > > thanks again for your time and effort.
> > >
> > >
> >
> >
> > --
> > James Stauffer        http://www.geocities.com/stauffer_james/
> > Are you good? Take the test at http://www.livingwaters.com/good/
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > For additional commands, e-mail: log4j-user-help@logging.apache.org
> >
> >
>
>


-- 
James Stauffer        http://www.geocities.com/stauffer_james/
Are you good? Take the test at http://www.livingwaters.com/good/

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: Log4J +struts

Posted by Adam K <ad...@gmail.com>.
I'm using this but I have 2 questions (yet again).

1) How do I know if the class is being picked up properly, as I don't see
any errors in the logs files
2) How do I go about using the logger within the application - that is how
do I get a handle to it ?

again thanks for all the help.


On 12/14/06, James Stauffer <st...@gmail.com> wrote:
>
> If you name your file "log4j.xml" and if is accessible in the
> classpath (i.e. WEB-INF/classes), then log4j will automatically find
> it and configure itself with it.
>
> On 12/14/06, Adam K <ad...@gmail.com> wrote:
> > See the "Default Initialization Procedure" section at
> > http://logging.apache.org/log4j/docs/manual.html
> >
> > I have looked at this, but am now more confused than previously.  (Part
> of
> > the problem is that I tried to use parts for that page which obviously
> > resulted in disaster.
> >
> > I was looking around and found the following:
> >
> http://mail-archives.apache.org/mod_mbox/logging-log4j-user/200207.mbox/%3C8426231879.20020717150829@visi.com%3E
> >
> > and would like to clarify the steps that I should be following (thanks
> for
> > your patience with me on this one).
> >
> > 1) add log4j.jar to WEB-INF/lib/    -- COMPLETE
> > 2) create a log4jConfiguration.xml file and place it in
> /WEB-INF/src/java/
> > ------COMPLETE When compiled the file is appearing under
> /WEB-INF/classes
> >
> >  The following is the xml file
> >
> > <?xml version="1.0" encoding="UTF-8" ?>
> > <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
> >
> > <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
> >   <appender name="console" class="org.apache.log4j.ConsoleAppender">
> >     <param name="Target" value="System.out"/>
> >     <layout class="org.apache.log4j.PatternLayout">
> >       <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
> >     </layout>
> >   </appender>
> >
> >   <root>
> >     <priority value ="debug" />
> >     <appender-ref ref="console" />
> >   </root>
> >
> > </log4j:configuration>
> >
> > At this point I am wondering if I should be doing something similar to
> what
> > is mentioned in the e-mail archive that I borrowed.  Again if you can
> advise
> > me I would really appreciate it.
> >
> > thanks again for your time and effort.
> >
> >
>
>
> --
> James Stauffer        http://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>

Re: Log4J +struts

Posted by James Stauffer <st...@gmail.com>.
If you name your file "log4j.xml" and if is accessible in the
classpath (i.e. WEB-INF/classes), then log4j will automatically find
it and configure itself with it.

On 12/14/06, Adam K <ad...@gmail.com> wrote:
> See the "Default Initialization Procedure" section at
> http://logging.apache.org/log4j/docs/manual.html
>
> I have looked at this, but am now more confused than previously.  (Part of
> the problem is that I tried to use parts for that page which obviously
> resulted in disaster.
>
> I was looking around and found the following:
> http://mail-archives.apache.org/mod_mbox/logging-log4j-user/200207.mbox/%3C8426231879.20020717150829@visi.com%3E
>
> and would like to clarify the steps that I should be following (thanks for
> your patience with me on this one).
>
> 1) add log4j.jar to WEB-INF/lib/    -- COMPLETE
> 2) create a log4jConfiguration.xml file and place it in /WEB-INF/src/java/
> ------COMPLETE When compiled the file is appearing under /WEB-INF/classes
>
>  The following is the xml file
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
>
> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
>   <appender name="console" class="org.apache.log4j.ConsoleAppender">
>     <param name="Target" value="System.out"/>
>     <layout class="org.apache.log4j.PatternLayout">
>       <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
>     </layout>
>   </appender>
>
>   <root>
>     <priority value ="debug" />
>     <appender-ref ref="console" />
>   </root>
>
> </log4j:configuration>
>
> At this point I am wondering if I should be doing something similar to what
> is mentioned in the e-mail archive that I borrowed.  Again if you can advise
> me I would really appreciate it.
>
> thanks again for your time and effort.
>
>


-- 
James Stauffer        http://www.geocities.com/stauffer_james/
Are you good? Take the test at http://www.livingwaters.com/good/

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: Log4J +struts

Posted by Adam K <ad...@gmail.com>.
See the "Default Initialization Procedure" section at
http://logging.apache.org/log4j/docs/manual.html

I have looked at this, but am now more confused than previously.  (Part of
the problem is that I tried to use parts for that page which obviously
resulted in disaster.

I was looking around and found the following:
http://mail-archives.apache.org/mod_mbox/logging-log4j-user/200207.mbox/%3C8426231879.20020717150829@visi.com%3E

and would like to clarify the steps that I should be following (thanks for
your patience with me on this one).

1) add log4j.jar to WEB-INF/lib/    -- COMPLETE
2) create a log4jConfiguration.xml file and place it in /WEB-INF/src/java/
------COMPLETE When compiled the file is appearing under /WEB-INF/classes

 The following is the xml file

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
    </layout>
  </appender>

  <root>
    <priority value ="debug" />
    <appender-ref ref="console" />
  </root>

</log4j:configuration>

At this point I am wondering if I should be doing something similar to what
is mentioned in the e-mail archive that I borrowed.  Again if you can advise
me I would really appreciate it.

thanks again for your time and effort.

Re: Log4J +struts

Posted by James Stauffer <st...@gmail.com>.
See the "Default Initialization Procedure" section at
http://logging.apache.org/log4j/docs/manual.html

There is good info about the XML format in the wiki:
http://wiki.apache.org/logging-log4j/Log4jXmlFormat

On 12/14/06, Adam K <ad...@gmail.com> wrote:
> On 12/14/06, James Stauffer <st...@gmail.com> wrote:
> >
> > Two suggestions:
> > 1. Use Logger logger = Logger.getLogger(getClass().getName());
>
>
>
> Thanks for that piece of information, never even thought of using that.
>
> 2. Don't use code to configure but use an XML config file.  The
> > configuration should only happen once so that is why you keep getting
> > more log writers.
>
>
> I have been trying to accomplish this one, but have been having a heck of a
> time getting the log4j.properties file picked up.  I would be more than
> happy to use a .xml version but I haven't had much luck finding a sample one
> with writing to a file.  I am also a little confused as to how the logger is
> supposed to find the config file.  Am I missing a simple faq or how-to that
> describes this ?  Thanks again for the quick and concise answers.
>
>
>
> On 12/14/06, Adam K <ad...@gmail.com> wrote:
> > > Hi all I am working with struts and was recently told about log4j.  I am
> > > looking to implement this into an application, but have run into a
> > couple of
> > > issues.  I have so far managed to get the application to log to a file,
> > but
> > > not in the manner that I want.  Currently the application is logging by
> > > placing the following code in a couple classes to test how log4j works.
> > > (The capital letters and bold are replaced with what they should be )
> > >
> > > This is declared at the top of each class:
> > >
> > > static Logger logger = Logger.getLogger("NAMEOFCLASS.class");
> > >
> > >
> > > The following is declared inside the execute method in each class:
> > >
> > >         FileAppender myFileAppender = new FileAppender(new
> > PatternLayout(),
> > > "../log4jlog.log", true);
> > >         myFileAppender.activateOptions();
> > >         logger.addAppender(myFileAppender);
> > >         logger.setLevel((Level) Level.DEBUG);
> > >
> > >         logger.info("Entering NAMEOFCLASS");
> > >
> > >
> > >
> > > This works, but as I said there are 2 issues.
> > >
> > > 1)  I don't want to be declaring the file location in each of the
> > classes
> > > 2) Everytime I instantiate the class again I get another log writer.  I
> > am
> > > going to be trying to create a singleton version of the logger, but I am
> > > somewhat confused as I thought each class used it's own logger.
> > >
> > > Thanks in advance for any help you can provide.
> > >
> > >
> >
> >
> > --
> > James Stauffer        http://www.geocities.com/stauffer_james/
> > Are you good? Take the test at http://www.livingwaters.com/good/
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > For additional commands, e-mail: log4j-user-help@logging.apache.org
> >
> >
>
>


-- 
James Stauffer        http://www.geocities.com/stauffer_james/
Are you good? Take the test at http://www.livingwaters.com/good/

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: Log4J +struts

Posted by Adam K <ad...@gmail.com>.
On 12/14/06, James Stauffer <st...@gmail.com> wrote:
>
> Two suggestions:
> 1. Use Logger logger = Logger.getLogger(getClass().getName());



Thanks for that piece of information, never even thought of using that.

2. Don't use code to configure but use an XML config file.  The
> configuration should only happen once so that is why you keep getting
> more log writers.


I have been trying to accomplish this one, but have been having a heck of a
time getting the log4j.properties file picked up.  I would be more than
happy to use a .xml version but I haven't had much luck finding a sample one
with writing to a file.  I am also a little confused as to how the logger is
supposed to find the config file.  Am I missing a simple faq or how-to that
describes this ?  Thanks again for the quick and concise answers.



On 12/14/06, Adam K <ad...@gmail.com> wrote:
> > Hi all I am working with struts and was recently told about log4j.  I am
> > looking to implement this into an application, but have run into a
> couple of
> > issues.  I have so far managed to get the application to log to a file,
> but
> > not in the manner that I want.  Currently the application is logging by
> > placing the following code in a couple classes to test how log4j works.
> > (The capital letters and bold are replaced with what they should be )
> >
> > This is declared at the top of each class:
> >
> > static Logger logger = Logger.getLogger("NAMEOFCLASS.class");
> >
> >
> > The following is declared inside the execute method in each class:
> >
> >         FileAppender myFileAppender = new FileAppender(new
> PatternLayout(),
> > "../log4jlog.log", true);
> >         myFileAppender.activateOptions();
> >         logger.addAppender(myFileAppender);
> >         logger.setLevel((Level) Level.DEBUG);
> >
> >         logger.info("Entering NAMEOFCLASS");
> >
> >
> >
> > This works, but as I said there are 2 issues.
> >
> > 1)  I don't want to be declaring the file location in each of the
> classes
> > 2) Everytime I instantiate the class again I get another log writer.  I
> am
> > going to be trying to create a singleton version of the logger, but I am
> > somewhat confused as I thought each class used it's own logger.
> >
> > Thanks in advance for any help you can provide.
> >
> >
>
>
> --
> James Stauffer        http://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>

Re: Log4J +struts

Posted by James Stauffer <st...@gmail.com>.
Two suggestions:
1. Use Logger logger = Logger.getLogger(getClass().getName());
2. Don't use code to configure but use an XML config file.  The
configuration should only happen once so that is why you keep getting
more log writers.

On 12/14/06, Adam K <ad...@gmail.com> wrote:
> Hi all I am working with struts and was recently told about log4j.  I am
> looking to implement this into an application, but have run into a couple of
> issues.  I have so far managed to get the application to log to a file, but
> not in the manner that I want.  Currently the application is logging by
> placing the following code in a couple classes to test how log4j works.
> (The capital letters and bold are replaced with what they should be )
>
> This is declared at the top of each class:
>
> static Logger logger = Logger.getLogger("NAMEOFCLASS.class");
>
>
> The following is declared inside the execute method in each class:
>
>         FileAppender myFileAppender = new FileAppender(new PatternLayout(),
> "../log4jlog.log", true);
>         myFileAppender.activateOptions();
>         logger.addAppender(myFileAppender);
>         logger.setLevel((Level) Level.DEBUG);
>
>         logger.info("Entering NAMEOFCLASS");
>
>
>
> This works, but as I said there are 2 issues.
>
> 1)  I don't want to be declaring the file location in each of the classes
> 2) Everytime I instantiate the class again I get another log writer.  I am
> going to be trying to create a singleton version of the logger, but I am
> somewhat confused as I thought each class used it's own logger.
>
> Thanks in advance for any help you can provide.
>
>


-- 
James Stauffer        http://www.geocities.com/stauffer_james/
Are you good? Take the test at http://www.livingwaters.com/good/

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org