log4j configuration ignored for inner classes

2015-06-12 Thread lomax0...@gmail.com
Hi all,

I am trying to cut back on some of the logging noise from the Spark / Kafka
frameworks by editing log4j.properties. However, it seems like
package-specific customisations are ignored for inner classes.
For example, the following configuration lines mostly work as expected,
suppressing most logs from these packages below WARN level:
log4j.logger.org.apache.spark=WARN
log4j.logger.kafka.utils=WARN

However, I am still getting log messages at INFO from classes like:
org.apache.spark.Logging$class
kafka.utils.Logging$class

I suspect it's because these are inner classes. It still happens even when
I go up a level and add configurations like "log4j.logger.org=WARN".

Is this a known bug in log4j? Is there any known way to suppress these,
ideally through configuration rather than programmatically?

Many thanks


Re: Problems with log4j configuration [SOLVED]

2012-01-24 Thread rhaiger

Well guys!

I finally made it... The problem was not with log4j, but with the EAR
generation of the legacy code I have here... >-(

Thanks for the help and for the hints! They'll be usefull in the future for
sure... :-D


rhaiger wrote:
> 
> Hello guys, I'm new in this forum and I think you may help me with an
> issue...
> 
> I'm trying to use log4j to log some login auditing informations, and I'm
> using JBoss 4 and Java with compliance level 5.0. It's a very old legacy
> system...
> 
> I've added this lines at my log4j.xml:
> 
>  class="org.jboss.logging.appender.RollingFileAppender">
> 
> 
> 
> 
> 
> 
> 
>  
> 
> 
> 
> 
> 
> 
> 
> And in my Foo.java class, I've added this field:
> 
> private static final Logger logger = Logger.getLogger(Foo.class);
> 
> When I want to log something (inside my Foo.java class), I just call my
> logger with something like:
> 
> logger.info("any message");
> 
> 
> Well, after that, I start JBoss4, and I can see that Auditor.log file is
> created in my log folder, as it should be, but everything I try to log
> doesn't appear in my Auditor.log file... :-(
> 
> When I start my application in debug mode, I can see that I'm passing
> through several loggers that I've put in my Foo.java class, but it seems
> that log4j is just ignoring these callings and nothing is logged at all...
> 
> Does anyone know what's happening? It seems to be something really simple,
> but I can't figure it out! :-((
> 
> Thanks from now and best regards! :-)
> 

-- 
View this message in context: 
http://old.nabble.com/Problems-with-log4j-configuration--SOLVED--tp33190553p33196579.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


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



RE: Problems with log4j configuration

2012-01-24 Thread rhaiger

I've noticed a very strange thing just now!

While debugging, I've stoped in a point when my logger is called to log
something... But when I evaluate my logger, it says: "logger cannot be
resolved"

This is very bizarre, cause when I try to log something with
logger.info("bla") for example, it doesn't throws any exception... %-|


rhaiger wrote:
> 
> Hi bmelloni!
> 
> Thanks for all these good sugestions, but unfortunately none worked for
> me... :-((
> 
> What I've done:
> 
> 1) Look in server.log and see if your entries might be going there.
> I've used grep in all my log files and my application console, and a
> random string that I've put there didn't appeared... I've used a break
> point in debug mode to be sure that my logger was called... :confused:
> 2) Check for typos.
> I've double checked for typos, but I don't think this is the case...
> 3) Try implementing your AUDITOR appender by cut/pasting the FILE appender
> that is there as a starting point.
> I've made this too, copying and pasting another configuration logger
> that's already working in another package, but it didn't work too... :-((
> 4) Instead of using static and specifying the class use "private final
> Logger logger = Logger.getLogger(this.getClass());"
> I've tried this strategy too, and it was not effective again... :,(
> 
> 
> I really have no idea what might be happening... It seems that everything
> is alright, but my Auditor.log keeps empty... :confused:
> 
> 
> bmelloni wrote:
>> 
>> Looks right to me, but I don't remember the RollingFileAppender
>> parameters.
>> 
>> I suggest you:
>> 
>> 1) Look in server.log and see if your entries might be going there.
>> 2) Check for typos.
>> 3) Try implementing your AUDITOR appender by cut/pasting the FILE
>> appender that is there as a starting point.
>> 4) Instead of using static and specifying the class use "private final
>> Logger logger = Logger.getLogger(this.getClass());"
>> 
>> -Original Message-
>> From: rhaiger [mailto:rhai...@gmail.com] 
>> Sent: Monday, January 23, 2012 1:45 PM
>> To: log4j-user@logging.apache.org
>> Subject: Problems with log4j configuration
>> 
>> 
>> Hello guys, I'm new in this forum and I think you may help me with an
>> issue...
>> 
>> I'm trying to use log4j to log some login auditing informations, and I'm
>> using JBoss 4 and Java with compliance level 5.0. It's a very old legacy
>> system...
>> 
>> I've added this lines at my log4j.xml:
>> 
>> > class="org.jboss.logging.appender.RollingFileAppender">
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> And in my Foo.java class, I've added this field:
>> 
>> private static final Logger logger = Logger.getLogger(Foo.class);
>> 
>> When I want to log something (inside my Foo.java class), I just call my
>> logger with something like:
>> 
>> logger.info("any message");
>> 
>> 
>> Well, after that, I start JBoss4, and I can see that Auditor.log file is
>> created in my log folder, as it should be, but everything I try to log
>> doesn't appear in my Auditor.log file... :-(
>> 
>> When I start my application in debug mode, I can see that I'm passing
>> through several loggers that I've put in my Foo.java class, but it seems
>> that log4j is just ignoring these callings and nothing is logged at
>> all...
>> 
>> Does anyone know what's happening? It seems to be something really
>> simple, but I can't figure it out! :-((
>> 
>> Thanks from now and best regards! :-)
>> --
>> View this message in context:
>> http://old.nabble.com/Problems-with-log4j-configuration-tp33190553p33190553.html
>> Sent from the Log4j - Users mailing list archive at Nabble.com.
>> 
>> 
>> -
>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>> 
>> 
>> -
>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Problems-with-log4j-configuration-tp33190553p33194443.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


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



RE: Problems with log4j configuration

2012-01-24 Thread rhaiger

Hi Bart!

I've checked and I'm importing log4j correctly... =)

Here's the import line: import org.apache.log4j.Logger;

Thanks for the help! :-)


Bart Berger wrote:
> 
> If you let your IDE add the import statements, double-check that you're
> importing log4j's Logger and not JBoss's Logger.
> 
> Cheers,
> Bart
> 
> -Original Message-
> From: BRUNO MELLONI [mailto:bruno.mell...@chickasaw.net] 
> Sent: Monday, January 23, 2012 11:58 AM
> To: Log4J Users List
> Subject: RE: Problems with log4j configuration
> 
> Looks right to me, but I don't remember the RollingFileAppender
> parameters.
> 
> I suggest you:
> 
> 1) Look in server.log and see if your entries might be going there.
> 2) Check for typos.
> 3) Try implementing your AUDITOR appender by cut/pasting the FILE appender
> that is there as a starting point.
> 4) Instead of using static and specifying the class use "private final
> Logger logger = Logger.getLogger(this.getClass());"
> 
> -Original Message-
> From: rhaiger [mailto:rhai...@gmail.com] 
> Sent: Monday, January 23, 2012 1:45 PM
> To: log4j-user@logging.apache.org
> Subject: Problems with log4j configuration
> 
> 
> Hello guys, I'm new in this forum and I think you may help me with an
> issue...
> 
> I'm trying to use log4j to log some login auditing informations, and I'm
> using JBoss 4 and Java with compliance level 5.0. It's a very old legacy
> system...
> 
> I've added this lines at my log4j.xml:
> 
>  class="org.jboss.logging.appender.RollingFileAppender">
> 
> 
> 
> 
> 
> 
> 
>  
> 
> 
> 
> 
> 
> 
> 
> And in my Foo.java class, I've added this field:
> 
> private static final Logger logger = Logger.getLogger(Foo.class);
> 
> When I want to log something (inside my Foo.java class), I just call my
> logger with something like:
> 
> logger.info("any message");
> 
> 
> Well, after that, I start JBoss4, and I can see that Auditor.log file is
> created in my log folder, as it should be, but everything I try to log
> doesn't appear in my Auditor.log file... :-(
> 
> When I start my application in debug mode, I can see that I'm passing
> through several loggers that I've put in my Foo.java class, but it seems
> that log4j is just ignoring these callings and nothing is logged at all...
> 
> Does anyone know what's happening? It seems to be something really simple,
> but I can't figure it out! :-((
> 
> Thanks from now and best regards! :-)
> --
> View this message in context:
> http://old.nabble.com/Problems-with-log4j-configuration-tp33190553p33190553.html
> Sent from the Log4j - Users mailing list archive at Nabble.com.
> 
> 
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 
> 
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 
> 
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Problems-with-log4j-configuration-tp33190553p33194369.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


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



RE: Problems with log4j configuration

2012-01-24 Thread rhaiger

Hi bmelloni!

Thanks for all these good sugestions, but unfortunately none worked for
me... :-((

What I've done:

1) Look in server.log and see if your entries might be going there.
I've used grep in all my log files and my application console, and a
random string that I've put there didn't appeared... I've used a break point
in debug mode to be sure that my logger was called... :confused:
2) Check for typos.
I've double checked for typos, but I don't think this is the case...
3) Try implementing your AUDITOR appender by cut/pasting the FILE appender
that is there as a starting point.
I've made this too, copying and pasting another configuration logger
that's already working in another package, but it didn't work too... :-((
4) Instead of using static and specifying the class use "private final
Logger logger = Logger.getLogger(this.getClass());"
I've tried this strategy too, and it was not effective again... :,(


I really have no idea what might be happening... It seems that everything is
alright, but my Auditor.log keeps empty... :confused:


bmelloni wrote:
> 
> Looks right to me, but I don't remember the RollingFileAppender
> parameters.
> 
> I suggest you:
> 
> 1) Look in server.log and see if your entries might be going there.
> 2) Check for typos.
> 3) Try implementing your AUDITOR appender by cut/pasting the FILE appender
> that is there as a starting point.
> 4) Instead of using static and specifying the class use "private final
> Logger logger = Logger.getLogger(this.getClass());"
> 
> -Original Message-
> From: rhaiger [mailto:rhai...@gmail.com] 
> Sent: Monday, January 23, 2012 1:45 PM
> To: log4j-user@logging.apache.org
> Subject: Problems with log4j configuration
> 
> 
> Hello guys, I'm new in this forum and I think you may help me with an
> issue...
> 
> I'm trying to use log4j to log some login auditing informations, and I'm
> using JBoss 4 and Java with compliance level 5.0. It's a very old legacy
> system...
> 
> I've added this lines at my log4j.xml:
> 
>  class="org.jboss.logging.appender.RollingFileAppender">
> 
> 
> 
> 
> 
> 
> 
>  
> 
> 
> 
> 
> 
> 
> 
> And in my Foo.java class, I've added this field:
> 
> private static final Logger logger = Logger.getLogger(Foo.class);
> 
> When I want to log something (inside my Foo.java class), I just call my
> logger with something like:
> 
> logger.info("any message");
> 
> 
> Well, after that, I start JBoss4, and I can see that Auditor.log file is
> created in my log folder, as it should be, but everything I try to log
> doesn't appear in my Auditor.log file... :-(
> 
> When I start my application in debug mode, I can see that I'm passing
> through several loggers that I've put in my Foo.java class, but it seems
> that log4j is just ignoring these callings and nothing is logged at all...
> 
> Does anyone know what's happening? It seems to be something really simple,
> but I can't figure it out! :-((
> 
> Thanks from now and best regards! :-)
> --
> View this message in context:
> http://old.nabble.com/Problems-with-log4j-configuration-tp33190553p33190553.html
> Sent from the Log4j - Users mailing list archive at Nabble.com.
> 
> 
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 
> 
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Problems-with-log4j-configuration-tp33190553p33194364.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


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



RE: Problems with log4j configuration

2012-01-23 Thread Bart Berger
If you let your IDE add the import statements, double-check that you're 
importing log4j's Logger and not JBoss's Logger.

Cheers,
Bart

-Original Message-
From: BRUNO MELLONI [mailto:bruno.mell...@chickasaw.net] 
Sent: Monday, January 23, 2012 11:58 AM
To: Log4J Users List
Subject: RE: Problems with log4j configuration

Looks right to me, but I don't remember the RollingFileAppender parameters.

I suggest you:

1) Look in server.log and see if your entries might be going there.
2) Check for typos.
3) Try implementing your AUDITOR appender by cut/pasting the FILE appender that 
is there as a starting point.
4) Instead of using static and specifying the class use "private final Logger 
logger = Logger.getLogger(this.getClass());"

-Original Message-
From: rhaiger [mailto:rhai...@gmail.com] 
Sent: Monday, January 23, 2012 1:45 PM
To: log4j-user@logging.apache.org
Subject: Problems with log4j configuration


Hello guys, I'm new in this forum and I think you may help me with an issue...

I'm trying to use log4j to log some login auditing informations, and I'm using 
JBoss 4 and Java with compliance level 5.0. It's a very old legacy system...

I've added this lines at my log4j.xml:









   







And in my Foo.java class, I've added this field:

private static final Logger logger = Logger.getLogger(Foo.class);

When I want to log something (inside my Foo.java class), I just call my logger 
with something like:

logger.info("any message");


Well, after that, I start JBoss4, and I can see that Auditor.log file is 
created in my log folder, as it should be, but everything I try to log doesn't 
appear in my Auditor.log file... :-(

When I start my application in debug mode, I can see that I'm passing through 
several loggers that I've put in my Foo.java class, but it seems that log4j is 
just ignoring these callings and nothing is logged at all...

Does anyone know what's happening? It seems to be something really simple, but 
I can't figure it out! :-((

Thanks from now and best regards! :-)
--
View this message in context: 
http://old.nabble.com/Problems-with-log4j-configuration-tp33190553p33190553.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


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


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


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



RE: Problems with log4j configuration

2012-01-23 Thread BRUNO MELLONI
Looks right to me, but I don't remember the RollingFileAppender parameters.

I suggest you:

1) Look in server.log and see if your entries might be going there.
2) Check for typos.
3) Try implementing your AUDITOR appender by cut/pasting the FILE appender that 
is there as a starting point.
4) Instead of using static and specifying the class use "private final Logger 
logger = Logger.getLogger(this.getClass());"

-Original Message-
From: rhaiger [mailto:rhai...@gmail.com] 
Sent: Monday, January 23, 2012 1:45 PM
To: log4j-user@logging.apache.org
Subject: Problems with log4j configuration


Hello guys, I'm new in this forum and I think you may help me with an issue...

I'm trying to use log4j to log some login auditing informations, and I'm using 
JBoss 4 and Java with compliance level 5.0. It's a very old legacy system...

I've added this lines at my log4j.xml:









   







And in my Foo.java class, I've added this field:

private static final Logger logger = Logger.getLogger(Foo.class);

When I want to log something (inside my Foo.java class), I just call my logger 
with something like:

logger.info("any message");


Well, after that, I start JBoss4, and I can see that Auditor.log file is 
created in my log folder, as it should be, but everything I try to log doesn't 
appear in my Auditor.log file... :-(

When I start my application in debug mode, I can see that I'm passing through 
several loggers that I've put in my Foo.java class, but it seems that log4j is 
just ignoring these callings and nothing is logged at all...

Does anyone know what's happening? It seems to be something really simple, but 
I can't figure it out! :-((

Thanks from now and best regards! :-)
--
View this message in context: 
http://old.nabble.com/Problems-with-log4j-configuration-tp33190553p33190553.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


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


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



Problems with log4j configuration

2012-01-23 Thread rhaiger

Hello guys, I'm new in this forum and I think you may help me with an
issue...

I'm trying to use log4j to log some login auditing informations, and I'm
using JBoss 4 and Java with compliance level 5.0. It's a very old legacy
system...

I've added this lines at my log4j.xml:









   







And in my Foo.java class, I've added this field:

private static final Logger logger = Logger.getLogger(Foo.class);

When I want to log something (inside my Foo.java class), I just call my
logger with something like:

logger.info("any message");


Well, after that, I start JBoss4, and I can see that Auditor.log file is
created in my log folder, as it should be, but everything I try to log
doesn't appear in my Auditor.log file... :-(

When I start my application in debug mode, I can see that I'm passing
through several loggers that I've put in my Foo.java class, but it seems
that log4j is just ignoring these callings and nothing is logged at all...

Does anyone know what's happening? It seems to be something really simple,
but I can't figure it out! :-((

Thanks from now and best regards! :-)
-- 
View this message in context: 
http://old.nabble.com/Problems-with-log4j-configuration-tp33190553p33190553.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


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



log4j configuration for rollover and compression

2012-01-03 Thread yashas

Hi,

Can someone please let me know how to configure log4j.properties file for
the below requirement :

1. I need to rollover the log files on the basis of both size and time
whichever earlier (example : rollover the log files if they cross 10MB or at
the end of each day which ever occurs first)
2. The rolled over files need to be compressed in gz format.
3. Once the number of rolled over + compressed files (archive) reaches 10
then i need to start deleting the oldest archive.

I have log4j-1.2.13.jar and apache-log4j-extras-1.1.jar in the classpath of
my web application. logback is not an option for me and I need to get this
done using log4j. 

Thanks,
Yash
-- 
View this message in context: 
http://old.nabble.com/log4j-configuration-for-rollover-and-compression-tp33074307p33074307.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


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



Re: Verification of log4j configuration file

2011-08-12 Thread Antonio Rodriges
Thank you, Josef, very detailed explanation!

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



AW: Re: Verification of log4j configuration file

2011-08-09 Thread Stadelmann Josef
Hi Antonio

I suggest to you the following. 
1. Take NetBeans or any other IDE and catch the log4j open sources as a project.
2. Build log4j yourself, 
3. JDK 6.0,  maven 2.2.1 and ant 1.7 and a few other lesser important things is 
all you need
4. Do BUILD using NetBeans. / you can use also from a dos window mvn install 
comand
5. Select build.xml and ask for the javadoc ANT target to get doc and API's 
built
6. Then start your TrowableProperty or DOMConfiguratir development



basically you have to consider a few Configurators

BasicConfigurator
Is extended by the 
PropertyConfigurator(reading config data 
from a property file)
OR
DOMConfigurator (reading config data from a XML 
file)
Either of the two can be extended by your own 
TrowablePropertyConfigurator
OR
TrowableDOMConfigurator


You may develop your own TrowablePropertyConfigurator or 
TrowableDOMConfigurator and engage it as shown in the Java Class below but this 
time inside a try catch block.

So where is your TrowablePropertyConfigurator engaged?


Look at the file Log4JTest.java written by ThomasFenner under
./contribs/ThomasFenner  (here included as reference) 

You can see that this test catches exceptions if drives are not installed? OK?
And you can see which and how the PropertyConfigurator is engaged?

Now, at this stage we would engage your own TrowablePropertyConfigurator or 
your own TrowableDOMConfigurator



import org.apache.log4j.*;
import java.sql.*;
import java.lang.*;
import java.util.*;

public class Log4JTest
{
// Create a category instance for this class
   static Category cat = Category.getInstance(Log4JTest.class.getName());

   public static void main(String[] args)
   {
  // Ensure to have all necessary drivers installed !
try
  {
Driver d = 
(Driver)(Class.forName("oracle.jdbc.driver.OracleDriver").newInstance());
DriverManager.registerDriver(d);
  }
  catch(Exception e){}

  // Set the priority which messages have to be logged
cat.setPriority(Priority.INFO);

 try 
 {
// Configuration with configuration-file
//PropertyConfigurator.configure("log4jtestprops.txt");
TrowablePropertyConfigurator.configure("log4jtestprops.txt");
  }
  catch(Exception e){}  

  // These messages with Priority >= setted priority will be logged to the 
database.
cat.debug("debug");  //this not, because Priority DEBUG is less 
than INFO
  cat.info("info");
  cat.error("error");
  cat.fatal("fatal");
   }
}



For further understanding:
Go to the ./docs/api/org(apache/log4j/PropertyConfigurator.html
Open this and study what the PropertyConfigurator does for you?
And you will find you confirmed that no exceptions are raise by log4j's 
PropertyConfigurator for whatever reason. 
Can you extend the PropertyConfigurator and extend and implement 
TrowablePropertyConfigurator ! Certainly you can.

Finally do not forget to ask somebody from the developers group to help you 
check in your working/tested source code.

Maybe somebody more know to the subject can comment my suggestions

Josef



-Ursprüngliche Nachricht-
Von: Antonio Rodriges [mailto:antonio@gmail.com] 
Gesendet: Montag, 8. August 2011 11:05
An: log4j-user@logging.apache.org
Betreff: Re: Re: Verification of log4j configuration file

Thank you, Josef,

however I would like to force log4j return me an error code or throw
an exception (however docs says it never throws anything) in case of a
malformed config file to stop my application. Otherwise all logs will
cause exceptions and will not appear anywhere.
What is the best practice for an application to behave in case of
malformed log4j conf file?

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


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



Re: Re: Verification of log4j configuration file

2011-08-08 Thread Antonio Rodriges
Thank you, Josef,

however I would like to force log4j return me an error code or throw
an exception (however docs says it never throws anything) in case of a
malformed config file to stop my application. Otherwise all logs will
cause exceptions and will not appear anywhere.
What is the best practice for an application to behave in case of
malformed log4j conf file?

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



AW: Verification of log4j configuration file

2011-08-08 Thread Stadelmann Josef
Add as first line 
log4j.debug=true
to your config file and see how well your config file gets parsed
Josef

-Ursprüngliche Nachricht-
Von: Antonio Rodriges [mailto:antonio@gmail.com] 
Gesendet: Samstag, 6. August 2011 11:49
An: log4j-user@logging.apache.org
Betreff: Verification of log4j configuration file

Hello,

How to verify log4j configuration file to find out whether it is
malformed or not?
Can log4j notify me of bad file format?

Thanks

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


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



Verification of log4j configuration file

2011-08-06 Thread Antonio Rodriges
Hello,

How to verify log4j configuration file to find out whether it is
malformed or not?
Can log4j notify me of bad file format?

Thanks

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



Re: Log4j configuration

2010-07-28 Thread Jacob Kjome

On Wed, 28 Jul 2010 10:27:24 -0700 (PDT)
 mokader  wrote:


Thanks Jake,

Is there any way to override the configuration or remove the existing
appenders.



Yes, appenders can be removed manually by traversing the logging API.  But, 
again, it seems like there was some way to tell Log4j not to be cumulative (at 
least I hope so).  Hopefully someone else can shed light on this possibility.



would the  call to LogManager.shutdown()and then
DOMConfigurator.configure(initUrl) work. 


I've never tested it.  You should try it and report results.

Jake



Thanks in advance,
Mohammed


Jacob Kjome wrote:


Log4j configuration is cumulative.  One call to configure() does not
override 
another.  Instead, the configurations are combined.  Each time you
configure() 
on a config file that defines an appender, a new one will be added rather
than 
blow away the old one.  Therefore you get duplicate logging as more than
one 
appender is active.


That said, it seems like this behavior was configurable?  Or maybe we
merely 
discussed it a while back since the default behavior is somewhat
surprising to 
users?  Maybe one of the other Log4j developers recalls this discussion
and 
can provide details?



Jake


On Wed, 28 Jul 2010 03:17:25 -0700 (PDT)
  mokader  wrote:


Hi,

I am adding logging enhancement to my app. There is already a log4j
wrapper
is available in my app. But the existing is in jar and I can not modify.
The
problem is, now I have two log4j.xml file. one for my enhancement and
other
for existing one.

I first initialize existing log4j wrapper, it uses
DOMConfigurator.configure(initUrl) to configure. After this I call my new
APIs, I follow the same DOMConfigurator.configure(initUrl) to override
the
configuration.

The problem here is, I have custom appender, which I specified in
log4j.xml
of my enhancement, but the custom appender is called twice - once from
existing APIs and another from my APIs. 


I dont know how log4j is invoking my custom appeder, when existing APIs
are
initialized. I looked this from stack trace.
--
View this message in context: 
http://old.nabble.com/Log4j-configuration-tp29285028p29285028.html

Sent from the Log4j - Users mailing list archive at Nabble.com.


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





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





--
View this message in context: 
http://old.nabble.com/Log4j-configuration-tp29285028p29289033.html

Sent from the Log4j - Users mailing list archive at Nabble.com.


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





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



Re: Log4j configuration

2010-07-28 Thread mokader

Thanks Jake,

Is there any way to override the configuration or remove the existing
appenders.

would the  call to LogManager.shutdown()and then
DOMConfigurator.configure(initUrl) work. 

Thanks in advance,
Mohammed
 

Jacob Kjome wrote:
> 
> Log4j configuration is cumulative.  One call to configure() does not
> override 
> another.  Instead, the configurations are combined.  Each time you
> configure() 
> on a config file that defines an appender, a new one will be added rather
> than 
> blow away the old one.  Therefore you get duplicate logging as more than
> one 
> appender is active.
> 
> That said, it seems like this behavior was configurable?  Or maybe we
> merely 
> discussed it a while back since the default behavior is somewhat
> surprising to 
> users?  Maybe one of the other Log4j developers recalls this discussion
> and 
> can provide details?
> 
> 
> Jake
> 
> 
> On Wed, 28 Jul 2010 03:17:25 -0700 (PDT)
>   mokader  wrote:
>> 
>> Hi,
>> 
>> I am adding logging enhancement to my app. There is already a log4j
>> wrapper
>> is available in my app. But the existing is in jar and I can not modify.
>> The
>> problem is, now I have two log4j.xml file. one for my enhancement and
>> other
>> for existing one.
>> 
>> I first initialize existing log4j wrapper, it uses
>> DOMConfigurator.configure(initUrl) to configure. After this I call my new
>> APIs, I follow the same DOMConfigurator.configure(initUrl) to override
>> the
>> configuration.
>> 
>> The problem here is, I have custom appender, which I specified in
>> log4j.xml
>> of my enhancement, but the custom appender is called twice - once from
>> existing APIs and another from my APIs. 
>> 
>> I dont know how log4j is invoking my custom appeder, when existing APIs
>> are
>> initialized. I looked this from stack trace.
>> -- 
>> View this message in context: 
>>http://old.nabble.com/Log4j-configuration-tp29285028p29285028.html
>> Sent from the Log4j - Users mailing list archive at Nabble.com.
>> 
>> 
>> -
>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>>For additional commands, e-mail: log4j-user-h...@logging.apache.org
>> 
>> 
> 
> 
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Log4j-configuration-tp29285028p29289033.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


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



Re: Log4j configuration

2010-07-28 Thread Jacob Kjome
Log4j configuration is cumulative.  One call to configure() does not override 
another.  Instead, the configurations are combined.  Each time you configure() 
on a config file that defines an appender, a new one will be added rather than 
blow away the old one.  Therefore you get duplicate logging as more than one 
appender is active.


That said, it seems like this behavior was configurable?  Or maybe we merely 
discussed it a while back since the default behavior is somewhat surprising to 
users?  Maybe one of the other Log4j developers recalls this discussion and 
can provide details?



Jake


On Wed, 28 Jul 2010 03:17:25 -0700 (PDT)
 mokader  wrote:


Hi,

I am adding logging enhancement to my app. There is already a log4j wrapper
is available in my app. But the existing is in jar and I can not modify. The
problem is, now I have two log4j.xml file. one for my enhancement and other
for existing one.

I first initialize existing log4j wrapper, it uses
DOMConfigurator.configure(initUrl) to configure. After this I call my new
APIs, I follow the same DOMConfigurator.configure(initUrl) to override the
configuration.

The problem here is, I have custom appender, which I specified in log4j.xml
of my enhancement, but the custom appender is called twice - once from
existing APIs and another from my APIs. 


I dont know how log4j is invoking my custom appeder, when existing APIs are
initialized. I looked this from stack trace.
--
View this message in context: 
http://old.nabble.com/Log4j-configuration-tp29285028p29285028.html

Sent from the Log4j - Users mailing list archive at Nabble.com.


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





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



Log4j configuration

2010-07-28 Thread mokader

Hi,

I am adding logging enhancement to my app. There is already a log4j wrapper
is available in my app. But the existing is in jar and I can not modify. The
problem is, now I have two log4j.xml file. one for my enhancement and other
for existing one.

I first initialize existing log4j wrapper, it uses
DOMConfigurator.configure(initUrl) to configure. After this I call my new
APIs, I follow the same DOMConfigurator.configure(initUrl) to override the
configuration.

The problem here is, I have custom appender, which I specified in log4j.xml
of my enhancement, but the custom appender is called twice - once from
existing APIs and another from my APIs. 

I dont know how log4j is invoking my custom appeder, when existing APIs are
initialized. I looked this from stack trace.
-- 
View this message in context: 
http://old.nabble.com/Log4j-configuration-tp29285028p29285028.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


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



RE: Doubt about log4j configuration and OCI

2010-05-19 Thread Exposito Aguilera, Francisco
Thanks... I also have found that if I put the database jar
ojdbc14-10.2.0.1.0.jar in tomcat lib folder, it workd properly!!

-Mensaje original-
De: Douglas E Wegscheid [mailto:douglas_e_wegsch...@whirlpool.com] 
Enviado el: martes, 18 de mayo de 2010 14:39
Para: Log4J Users List
CC: 'log4j-user@logging.apache.org'
Asunto: Re: Doubt about log4j configuration and OCI

ahha. someone *has* done a JDBCAppender that will use an existing 
datasource. Take a look at 
http://www.boky.cc/2010/02/03/jdbcappender-for-log4j/

Douglas E Wegscheid
Lead Technical Analyst, Whirlpool Corporation

"A wrong note played hesitatingly is a wrong note. A wrong note played 
with conviction is interpretation."



"Exposito Aguilera, Francisco"  wrote 
on 05/18/2010 08:14:04 AM:

> Hello,
> 
> I have a doubt about how to configure log4j in order to avoid the error 
> 
> java.lang.UnsatisfiedLinkError: Native Library
> C:\oracle\product\10.2.0\client_1\BIN\ocijdbc10.dll already loaded in
> another classloader
> 
> I want log write the log in the same database as the other sql 
statements I
> need for my application.
> 
> 
> I have a DAO Connection class with this method:
> 
> public static Connection getConnection()
> {
>InitialContext initContext = new InitialContext();
>Context envContext  = (Context)
> initContext.lookup("java:/comp/env");
>DataSource dataSource = (DataSource)
> envContext.lookup("jdbc/testdb");
>return dataSource.getConnection();
> }
> 
> This method uses the DB info placed in META-INF/context.xml file:
> 
> type="javax.sql.DataSource" username=""
> password=""
>driverClassName="oracle.jdbc.driver.OracleDriver"
>url="jdbc:oracle:oci:@DESARROLLO"
>maxActive="20" maxIdle="24"/>
> 
> 
> Then I have my log4j.xml files configured like that:
> 
>   
> 
>
> 
>
>
>
> 
> 
> 
> 
> But when I execute the first log.debug statement (the connection class 
has
> been already executed), I receive the error
> 
> java.lang.UnsatisfiedLinkError: Native Library
> C:\oracle\product\10.2.0\client_1\BIN\ocijdbc10.dll already loaded in
> another classloader
> 
> Any idea?
> 
> Thanks in advance.
> 
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 

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



Re: Doubt about log4j configuration and OCI

2010-05-18 Thread Douglas E Wegscheid
ahha. someone *has* done a JDBCAppender that will use an existing 
datasource. Take a look at 
http://www.boky.cc/2010/02/03/jdbcappender-for-log4j/

Douglas E Wegscheid
Lead Technical Analyst, Whirlpool Corporation

"A wrong note played hesitatingly is a wrong note. A wrong note played 
with conviction is interpretation."



"Exposito Aguilera, Francisco"  wrote 
on 05/18/2010 08:14:04 AM:

> Hello,
> 
> I have a doubt about how to configure log4j in order to avoid the error 
> 
> java.lang.UnsatisfiedLinkError: Native Library
> C:\oracle\product\10.2.0\client_1\BIN\ocijdbc10.dll already loaded in
> another classloader
> 
> I want log write the log in the same database as the other sql 
statements I
> need for my application.
> 
> 
> I have a DAO Connection class with this method:
> 
> public static Connection getConnection()
> {
>InitialContext initContext = new InitialContext();
>Context envContext  = (Context)
> initContext.lookup("java:/comp/env");
>DataSource dataSource = (DataSource)
> envContext.lookup("jdbc/testdb");
>return dataSource.getConnection();
> }
> 
> This method uses the DB info placed in META-INF/context.xml file:
> 
> type="javax.sql.DataSource" username=""
> password=""
>driverClassName="oracle.jdbc.driver.OracleDriver"
>url="jdbc:oracle:oci:@DESARROLLO"
>maxActive="20" maxIdle="24"/>
> 
> 
> Then I have my log4j.xml files configured like that:
> 
>   
> 
>
> 
>
>
>
> 
> 
> 
> 
> But when I execute the first log.debug statement (the connection class 
has
> been already executed), I receive the error
> 
> java.lang.UnsatisfiedLinkError: Native Library
> C:\oracle\product\10.2.0\client_1\BIN\ocijdbc10.dll already loaded in
> another classloader
> 
> Any idea?
> 
> Thanks in advance.
> 
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 


Re: Doubt about log4j configuration and OCI

2010-05-18 Thread Douglas E Wegscheid
I don't think you can load the Oracle native driver more than once (that 
tries to load the native bits/dlls more than once, and that's what the 
"Native Library already loaded" is about).

A couple of choices are to try to use the existing DataSource (which I 
don't think JDBCAppender can do out of the box, though I'd be surprised if 
no one has fixed that), or trying to leave the driverClassName off (if 
possible) so that you rely on the driver that was loaded earlier. (That's 
assuming the log4j appender is the later of the two to load, and that the 
JDBCAppender will let you leave off the "driver" parameter).

Douglas E Wegscheid
Lead Technical Analyst, Whirlpool Corporation


"A wrong note played hesitatingly is a wrong note. A wrong note played 
with conviction is interpretation."



"Exposito Aguilera, Francisco"  wrote 
on 05/18/2010 08:14:04 AM:

> Hello,
> 
> I have a doubt about how to configure log4j in order to avoid the error 
> 
> java.lang.UnsatisfiedLinkError: Native Library
> C:\oracle\product\10.2.0\client_1\BIN\ocijdbc10.dll already loaded in
> another classloader
> 
> I want log write the log in the same database as the other sql 
statements I
> need for my application.
> 
> 
> I have a DAO Connection class with this method:
> 
> public static Connection getConnection()
> {
>InitialContext initContext = new InitialContext();
>Context envContext  = (Context)
> initContext.lookup("java:/comp/env");
>DataSource dataSource = (DataSource)
> envContext.lookup("jdbc/testdb");
>return dataSource.getConnection();
> }
> 
> This method uses the DB info placed in META-INF/context.xml file:
> 
> type="javax.sql.DataSource" username=""
> password=""
>driverClassName="oracle.jdbc.driver.OracleDriver"
>url="jdbc:oracle:oci:@DESARROLLO"
>maxActive="20" maxIdle="24"/>
> 
> 
> Then I have my log4j.xml files configured like that:
> 
>   
> 
>
> 
>
>
>
> 
> 
> 
> 
> But when I execute the first log.debug statement (the connection class 
has
> been already executed), I receive the error
> 
> java.lang.UnsatisfiedLinkError: Native Library
> C:\oracle\product\10.2.0\client_1\BIN\ocijdbc10.dll already loaded in
> another classloader
> 
> Any idea?
> 
> Thanks in advance.
> 
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 


Doubt about log4j configuration and OCI

2010-05-18 Thread Exposito Aguilera, Francisco
Hello,

I have a doubt about how to configure log4j in order to avoid the error 

java.lang.UnsatisfiedLinkError: Native Library
C:\oracle\product\10.2.0\client_1\BIN\ocijdbc10.dll already loaded in
another classloader

I want log write the log in the same database as the other sql statements I
need for my application.


I have a DAO Connection class with this method:

public static Connection getConnection()
{
InitialContext initContext = new InitialContext();
Context envContext  = (Context)
initContext.lookup("java:/comp/env");
DataSource dataSource = (DataSource)
envContext.lookup("jdbc/testdb");
return dataSource.getConnection();
}

This method uses the DB info placed in META-INF/context.xml file:




Then I have my log4j.xml files configured like that:

   
   

   







But when I execute the first log.debug statement (the connection class has
been already executed), I receive the error

java.lang.UnsatisfiedLinkError: Native Library
C:\oracle\product\10.2.0\client_1\BIN\ocijdbc10.dll already loaded in
another classloader

Any idea?

Thanks in advance.

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



Re: how to access and manipulate the log4j configuration programmatically

2009-12-14 Thread Jacob Kjome
Sure.  You can query appenders from logger objects and manipulate everything 
programatically.  There used to be an application called LogWeb [1] that did this, 
but seems to have fallen off the face of the earth.  The code was licensed under 
Apache2, if I recall correctly, so I would think it would still be available 
somewhere?


In any case, there's a simple ConfigurationServlet [2] in the Log4j sandbox that 
you can try to get started quickly.



[1] http://www.codeczar.com/projects/components/logweb/
[2] 
http://svn.apache.org/repos/asf/logging/sandbox/log4j/log4j_sandbox/trunk/src/java/org/apache/log4j/servlet/ConfigurationServlet.java



Jake

On 12/11/2009 8:42 PM, Daniela Wersin wrote:

Hi all

is there a way to access and manipulate the log4j configuration 
programmatically from Java? For example, I would like to get all 
ConsoleAppenders and modify their ConversionPattern. I am aware that I could 
parse each line in the configuration file, or load the configuration into a 
Java Properties object and inspect each Property, but both these approaches are 
tedious and I wonder if there's a better way.

Thanks!
-- Daniela


__
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen 
Massenmails.
http://mail.yahoo.com


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



how to access and manipulate the log4j configuration programmatically

2009-12-11 Thread Daniela Wersin
Hi all

is there a way to access and manipulate the log4j configuration 
programmatically from Java? For example, I would like to get all 
ConsoleAppenders and modify their ConversionPattern. I am aware that I could 
parse each line in the configuration file, or load the configuration into a 
Java Properties object and inspect each Property, but both these approaches are 
tedious and I wonder if there's a better way.

Thanks!
-- Daniela


__
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen 
Massenmails. 
http://mail.yahoo.com 

Re: Problem on including DTD entity in a log4j configuration file

2009-11-15 Thread Francis ANDRE

Hi Curt


The message is reporting that the content after common.xml is merged 
is not valid according to the DTD.  The DOMConfigurator is less strict 
than the DTD that specifies (ignoring atypical elements)  all the 
appender elements appear first, then any logger elements, then an 
optional root element.  In XML DTD, if you cannot constrain the number 
of elements of a specific type without constraining the order.



You are rigth that's the problem... Thanks



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







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



Re: Problem on including DTD entity in a log4j configuration file

2009-11-15 Thread Curt Arnold


On Nov 15, 2009, at 2:25 PM, Brett Randall wrote:


What is in common.xml, and is it valid according to the dtd?

Brett



The message is reporting that the content after common.xml is merged  
is not valid according to the DTD.  The DOMConfigurator is less strict  
than the DTD that specifies (ignoring atypical elements)  all the  
appender elements appear first, then any logger elements, then an  
optional root element.  In XML DTD, if you cannot constrain the number  
of elements of a specific type without constraining the order.





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



Re: Problem on including DTD entity in a log4j configuration file

2009-11-15 Thread Brett Randall
What is in common.xml, and is it valid according to the dtd?

Brett


On 11/16/09, Francis ANDRE  wrote:
> Hi log4j users
>
> With the following log4j configuration:
> --
> 
>  
> ]>
>  debug='true'>
>
> &common;
>
> 
> ---
> I got a XML parsing warning as line 9 column 23 which is exactly the
> column just after the 
>
> Any idea??
>
>
> log4j:WARN Continuable parsing error 9 and column 23
> log4j:WARN The content of element type "log4j:configuration" must match
> "(renderer*,appender*,plugin*,(category|logger)*,root?,(categoryFactory|loggerFactory)?)".
> log4j: reset attribute= "false".
> log4j: Threshold ="null".
> log4j: Desired logger sub-class: [iso.itu.osi.msap.MSAPLogger]
> log4j: Setting [responder.iso.itu.osi.msap] additivity to [true].
> log4j: Level value for responder.iso.itu.osi.msap is  [debug].
> log4j: responder.iso.itu.osi.msap level set to DEBUG
> log4j: Class name: [org.apache.log4j.FileAppender]
> log4j: Setting property [file] to [log/server.msap.log].
> log4j: Setting property [append] to [true].
> log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
> log4j: Setting property [conversionPattern] to [%d{ISO8601}: %-9p %5c{1}
> -  %m
> ].
> log4j: setFile called: log/server.msap.log, true
> log4j: setFile ended
> log4j: Adding appender named [responder.msap.log] to category
> [responder.iso.itu.osi.msap].
> log4j: Desired logger sub-class: [iso.itu.osi.msap.MSAPLogger]
> log4j: Setting [initiator.iso.itu.osi.msap] additivity to [true].
> log4j: Level value for initiator.iso.itu.osi.msap is  [debug].
> log4j: initiator.iso.itu.osi.msap level set to DEBUG
> log4j: Class name: [org.apache.log4j.FileAppender]
> log4j: Setting property [file] to [log/client.msap.log].
> log4j: Setting property [append] to [true].
> log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
> log4j: Setting property [conversionPattern] to [%d{ISO8601}: %-9p %5c{1}
> -  %m
> ].
> log4j: setFile called: log/client.msap.log, true
> log4j: setFile ended
> log4j: Adding appender named [initiator.msap.log] to category
> [initiator.iso.itu.osi.msap].
> log4j: Desired logger sub-class: [iso.itu.osi.sap.SAPLogger]
> log4j: Setting [responder.iso.itu.osi] additivity to [true].
> log4j: Desired logger sub-class: [iso.itu.osi.sap.SAPLogger]
> log4j: Setting [initiator.iso.itu.osi] additivity to [true].
> log4j: Desired logger sub-class: [iso.itu.osi.tsap.TSAPLogger]
>
>
>
>
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>
>

-- 
Sent from my mobile device

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



Problem on including DTD entity in a log4j configuration file

2009-11-15 Thread Francis ANDRE

Hi log4j users

With the following log4j configuration:
--


]>
debug='true'>


   &common;


---
I got a XML parsing warning as line 9 column 23 which is exactly the 
column just after the


Any idea??


log4j:WARN Continuable parsing error 9 and column 23
log4j:WARN The content of element type "log4j:configuration" must match 
"(renderer*,appender*,plugin*,(category|logger)*,root?,(categoryFactory|loggerFactory)?)".

log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Desired logger sub-class: [iso.itu.osi.msap.MSAPLogger]
log4j: Setting [responder.iso.itu.osi.msap] additivity to [true].
log4j: Level value for responder.iso.itu.osi.msap is  [debug].
log4j: responder.iso.itu.osi.msap level set to DEBUG
log4j: Class name: [org.apache.log4j.FileAppender]
log4j: Setting property [file] to [log/server.msap.log].
log4j: Setting property [append] to [true].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{ISO8601}: %-9p %5c{1} 
-  %m

].
log4j: setFile called: log/server.msap.log, true
log4j: setFile ended
log4j: Adding appender named [responder.msap.log] to category 
[responder.iso.itu.osi.msap].

log4j: Desired logger sub-class: [iso.itu.osi.msap.MSAPLogger]
log4j: Setting [initiator.iso.itu.osi.msap] additivity to [true].
log4j: Level value for initiator.iso.itu.osi.msap is  [debug].
log4j: initiator.iso.itu.osi.msap level set to DEBUG
log4j: Class name: [org.apache.log4j.FileAppender]
log4j: Setting property [file] to [log/client.msap.log].
log4j: Setting property [append] to [true].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{ISO8601}: %-9p %5c{1} 
-  %m

].
log4j: setFile called: log/client.msap.log, true
log4j: setFile ended
log4j: Adding appender named [initiator.msap.log] to category 
[initiator.iso.itu.osi.msap].

log4j: Desired logger sub-class: [iso.itu.osi.sap.SAPLogger]
log4j: Setting [responder.iso.itu.osi] additivity to [true].
log4j: Desired logger sub-class: [iso.itu.osi.sap.SAPLogger]
log4j: Setting [initiator.iso.itu.osi] additivity to [true].
log4j: Desired logger sub-class: [iso.itu.osi.tsap.TSAPLogger]




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



RE: Changing log4j configuration runtime ...

2009-06-22 Thread Preetam Palwe
It worked!!!

Just added ... 
properties.put("log4j.reset", "true");


Thanks !!!


-Original Message-
From: Preetam Palwe [mailto:preet...@aftek.com] 
Sent: Monday, June 22, 2009 1:23 PM
To: Log4J Users List
Subject: RE: Changing log4j configuration runtime ...

I tried using 
new PropertyConfigurator().doConfigure(properties, LogManager
.getLoggerRepository());

But still the configuration is not getting reflected !

Any idea?




-Original Message-
From: Preetam Palwe [mailto:preet...@aftek.com] 
Sent: Monday, June 22, 2009 12:54 PM
To: 'Log4J Users List'
Subject: RE: Changing log4j configuration runtime ...

Or in other words 
I want to do 

PropertyConfigurator.reconfigure(Properties prop);

Is there any way to do this ?



-Original Message-
From: Preetam Palwe [mailto:preet...@aftek.com] 
Sent: Monday, June 22, 2009 12:13 PM
To: 'Log4J Users List'
Subject: RE: Changing log4j configuration runtime ...

Thanks Yair for the reply!

I have used property file only. 
The thing is the property file is open and if someone edit it and restart the 
java process he would be able to see all the DEBUG logs (which contains some 
critical information)

I dont want this to happen so want to change at runtime (in code) the 
configuration!


-Original Message-
From: Yair Ogen [mailto:yairo...@gmail.com] 
Sent: Sunday, June 21, 2009 2:38 PM
To: Log4J Users List
Subject: Re: Changing log4j configuration runtime ...

Why not use a regular property file?

Then when you to update the file you can load the changes automatically
using the "PropertyConfigurator.configureAndWatch" mechanism.


On Sun, Jun 21, 2009 at 11:41 AM, Preetam Palwe  wrote:

> Hello all,
>
>
>
> I have successfully configured log4j in my standalone java application
> using PropertyConfigurator.configure()
>
> Here is the configuration file
>
>
>
> log4j.rootLogger=DBUG, LogFile
>
>
>
> log4j.logger.com.server.core=INFO
>
> log4j.logger. com.server.core.SecurityManager =DEBUG
>
> log4j.logger. com.server.core.SecurityPatternsCreator =DEBUG
>
>
>
>
> log4j.appender.LogFile=org.apache.log4j.RollingFileAppender
>
>log4j.appender.LogFile.File=c:/server.log
>
>log4j.appender.LogFile.MaxFileSize=5MB
>
>log4j.appender.LogFile.MaxBackupIndex=10
>
>
> log4j.appender.LogFile.layout=org.apache.log4j.PatternLayout
>
>log4j.appender.LogFile.layout.ConversionPattern=%d{
> MM dd HH:mm:ss:SSS}# [%-5p]# [%t]# %c# %C{1}.%M# %m%n
>
>
>
> In case of my application I have a security related library
> (securitylib.jar) in which there we do some is a critical security
> related processing. And I want to set logging level of "INFO" to all the
> classes/loggers from this jar.
>
> The log4j configuration is done before loading securitylib.jar using
> above configuration file.
>
> When securitylib.jar is loaded I tried to re-configure log4j using
> following code.
>
> (what I have done here is removed all the explicit loggers set in
> configuration file, updated the configuration properties and configured
> logger again)
>
>
>
> But when I test the system I am still able to see the DEBUG logs for
> classes/loggers com.server.core.SecurityManager and
> com.server.core.SecurityPatternsCreator (which I had marked as DEBUG in
> config files)
>
>
>
> My questions are ...
>
> 1.   Why after reconfiguring the loggers the new configuration is
> not getting reflected ?
>
> 2.   Is there any way to get the current log4j configuration and
> change it at runtime ?
>
>
>
> Thanks in advance for your help!
>
> ~PP
>
>
>
> private void reinitLog4j()
>
>{
>
>try
>
>{
>
>String log4jFile = System.getProperty("log4j.file");
>
>Properties properties = new Properties();
>
>properties.load(new FileInputStream(log4jFile));
>
>updateLoggingConfiguration(properties);
>
>PropertyConfigurator.configure(properties);
>
>}
>
>catch (IOException ioEx)
>
>{
>
>throw new RuntimeException("failed to reconfigure
> logger "
>
>+ ioEx.getMessage(), ioEx);
>
>}
>
>logger = Logger.getLogger(this.getClass());
>
>logger.info("Log4j RE initialised to use INFO logs
> everywhere !");
>
>logger.debug("THIS SHOULD NEVER COME IN 

RE: Changing log4j configuration runtime ...

2009-06-22 Thread Preetam Palwe
I tried using 
new PropertyConfigurator().doConfigure(properties, LogManager
.getLoggerRepository());

But still the configuration is not getting reflected !

Any idea?




-Original Message-
From: Preetam Palwe [mailto:preet...@aftek.com] 
Sent: Monday, June 22, 2009 12:54 PM
To: 'Log4J Users List'
Subject: RE: Changing log4j configuration runtime ...

Or in other words 
I want to do 

PropertyConfigurator.reconfigure(Properties prop);

Is there any way to do this ?



-Original Message-
From: Preetam Palwe [mailto:preet...@aftek.com] 
Sent: Monday, June 22, 2009 12:13 PM
To: 'Log4J Users List'
Subject: RE: Changing log4j configuration runtime ...

Thanks Yair for the reply!

I have used property file only. 
The thing is the property file is open and if someone edit it and restart the 
java process he would be able to see all the DEBUG logs (which contains some 
critical information)

I dont want this to happen so want to change at runtime (in code) the 
configuration!


-Original Message-
From: Yair Ogen [mailto:yairo...@gmail.com] 
Sent: Sunday, June 21, 2009 2:38 PM
To: Log4J Users List
Subject: Re: Changing log4j configuration runtime ...

Why not use a regular property file?

Then when you to update the file you can load the changes automatically
using the "PropertyConfigurator.configureAndWatch" mechanism.


On Sun, Jun 21, 2009 at 11:41 AM, Preetam Palwe  wrote:

> Hello all,
>
>
>
> I have successfully configured log4j in my standalone java application
> using PropertyConfigurator.configure()
>
> Here is the configuration file
>
>
>
> log4j.rootLogger=DBUG, LogFile
>
>
>
> log4j.logger.com.server.core=INFO
>
> log4j.logger. com.server.core.SecurityManager =DEBUG
>
> log4j.logger. com.server.core.SecurityPatternsCreator =DEBUG
>
>
>
>
> log4j.appender.LogFile=org.apache.log4j.RollingFileAppender
>
>log4j.appender.LogFile.File=c:/server.log
>
>log4j.appender.LogFile.MaxFileSize=5MB
>
>log4j.appender.LogFile.MaxBackupIndex=10
>
>
> log4j.appender.LogFile.layout=org.apache.log4j.PatternLayout
>
>log4j.appender.LogFile.layout.ConversionPattern=%d{
> MM dd HH:mm:ss:SSS}# [%-5p]# [%t]# %c# %C{1}.%M# %m%n
>
>
>
> In case of my application I have a security related library
> (securitylib.jar) in which there we do some is a critical security
> related processing. And I want to set logging level of "INFO" to all the
> classes/loggers from this jar.
>
> The log4j configuration is done before loading securitylib.jar using
> above configuration file.
>
> When securitylib.jar is loaded I tried to re-configure log4j using
> following code.
>
> (what I have done here is removed all the explicit loggers set in
> configuration file, updated the configuration properties and configured
> logger again)
>
>
>
> But when I test the system I am still able to see the DEBUG logs for
> classes/loggers com.server.core.SecurityManager and
> com.server.core.SecurityPatternsCreator (which I had marked as DEBUG in
> config files)
>
>
>
> My questions are ...
>
> 1.   Why after reconfiguring the loggers the new configuration is
> not getting reflected ?
>
> 2.   Is there any way to get the current log4j configuration and
> change it at runtime ?
>
>
>
> Thanks in advance for your help!
>
> ~PP
>
>
>
> private void reinitLog4j()
>
>{
>
>try
>
>{
>
>String log4jFile = System.getProperty("log4j.file");
>
>Properties properties = new Properties();
>
>properties.load(new FileInputStream(log4jFile));
>
>updateLoggingConfiguration(properties);
>
>PropertyConfigurator.configure(properties);
>
>}
>
>catch (IOException ioEx)
>
>{
>
>throw new RuntimeException("failed to reconfigure
> logger "
>
>+ ioEx.getMessage(), ioEx);
>
>}
>
>logger = Logger.getLogger(this.getClass());
>
>logger.info("Log4j RE initialised to use INFO logs
> everywhere !");
>
>logger.debug("THIS SHOULD NEVER COME IN LOGS");
>
>}
>
>
>
>private void updateLoggingConfiguration(Properties properties)
>
>{
>
>for (Iterator iterator =
> properties.entrySet().iterator(); iterator
>
>   

RE: Changing log4j configuration runtime ...

2009-06-22 Thread Preetam Palwe
Or in other words 
I want to do 

PropertyConfigurator.reconfigure(Properties prop);

Is there any way to do this ?



-Original Message-
From: Preetam Palwe [mailto:preet...@aftek.com] 
Sent: Monday, June 22, 2009 12:13 PM
To: 'Log4J Users List'
Subject: RE: Changing log4j configuration runtime ...

Thanks Yair for the reply!

I have used property file only. 
The thing is the property file is open and if someone edit it and restart the 
java process he would be able to see all the DEBUG logs (which contains some 
critical information)

I dont want this to happen so want to change at runtime (in code) the 
configuration!


-Original Message-
From: Yair Ogen [mailto:yairo...@gmail.com] 
Sent: Sunday, June 21, 2009 2:38 PM
To: Log4J Users List
Subject: Re: Changing log4j configuration runtime ...

Why not use a regular property file?

Then when you to update the file you can load the changes automatically
using the "PropertyConfigurator.configureAndWatch" mechanism.


On Sun, Jun 21, 2009 at 11:41 AM, Preetam Palwe  wrote:

> Hello all,
>
>
>
> I have successfully configured log4j in my standalone java application
> using PropertyConfigurator.configure()
>
> Here is the configuration file
>
>
>
> log4j.rootLogger=DBUG, LogFile
>
>
>
> log4j.logger.com.server.core=INFO
>
> log4j.logger. com.server.core.SecurityManager =DEBUG
>
> log4j.logger. com.server.core.SecurityPatternsCreator =DEBUG
>
>
>
>
> log4j.appender.LogFile=org.apache.log4j.RollingFileAppender
>
>log4j.appender.LogFile.File=c:/server.log
>
>log4j.appender.LogFile.MaxFileSize=5MB
>
>log4j.appender.LogFile.MaxBackupIndex=10
>
>
> log4j.appender.LogFile.layout=org.apache.log4j.PatternLayout
>
>log4j.appender.LogFile.layout.ConversionPattern=%d{
> MM dd HH:mm:ss:SSS}# [%-5p]# [%t]# %c# %C{1}.%M# %m%n
>
>
>
> In case of my application I have a security related library
> (securitylib.jar) in which there we do some is a critical security
> related processing. And I want to set logging level of "INFO" to all the
> classes/loggers from this jar.
>
> The log4j configuration is done before loading securitylib.jar using
> above configuration file.
>
> When securitylib.jar is loaded I tried to re-configure log4j using
> following code.
>
> (what I have done here is removed all the explicit loggers set in
> configuration file, updated the configuration properties and configured
> logger again)
>
>
>
> But when I test the system I am still able to see the DEBUG logs for
> classes/loggers com.server.core.SecurityManager and
> com.server.core.SecurityPatternsCreator (which I had marked as DEBUG in
> config files)
>
>
>
> My questions are ...
>
> 1.   Why after reconfiguring the loggers the new configuration is
> not getting reflected ?
>
> 2.   Is there any way to get the current log4j configuration and
> change it at runtime ?
>
>
>
> Thanks in advance for your help!
>
> ~PP
>
>
>
> private void reinitLog4j()
>
>{
>
>try
>
>{
>
>String log4jFile = System.getProperty("log4j.file");
>
>Properties properties = new Properties();
>
>properties.load(new FileInputStream(log4jFile));
>
>updateLoggingConfiguration(properties);
>
>PropertyConfigurator.configure(properties);
>
>}
>
>catch (IOException ioEx)
>
>{
>
>throw new RuntimeException("failed to reconfigure
> logger "
>
>+ ioEx.getMessage(), ioEx);
>
>}
>
>logger = Logger.getLogger(this.getClass());
>
>logger.info("Log4j RE initialised to use INFO logs
> everywhere !");
>
>logger.debug("THIS SHOULD NEVER COME IN LOGS");
>
>}
>
>
>
>private void updateLoggingConfiguration(Properties properties)
>
>{
>
>for (Iterator iterator =
> properties.entrySet().iterator(); iterator
>
>.hasNext();)
>
>{
>
>Entry entry = (Entry) iterator.next();
>
>String key = (String) entry.getKey();
>
>if (key.equalsIgnoreCase("log4j.rootLogger"))
>
>{
>
>
> entry.setValue(getRootLoggerConfiguration((String) entry
>
>.getValu

RE: Changing log4j configuration runtime ...

2009-06-21 Thread Preetam Palwe
Thanks Yair for the reply!

I have used property file only. 
The thing is the property file is open and if someone edit it and restart the 
java process he would be able to see all the DEBUG logs (which contains some 
critical information)

I don’t want this to happen so want to change at runtime (in code) the 
configuration!


-Original Message-
From: Yair Ogen [mailto:yairo...@gmail.com] 
Sent: Sunday, June 21, 2009 2:38 PM
To: Log4J Users List
Subject: Re: Changing log4j configuration runtime ...

Why not use a regular property file?

Then when you to update the file you can load the changes automatically
using the "PropertyConfigurator.configureAndWatch" mechanism.


On Sun, Jun 21, 2009 at 11:41 AM, Preetam Palwe  wrote:

> Hello all,
>
>
>
> I have successfully configured log4j in my standalone java application
> using PropertyConfigurator.configure()
>
> Here is the configuration file
>
>
>
> log4j.rootLogger=DBUG, LogFile
>
>
>
> log4j.logger.com.server.core=INFO
>
> log4j.logger. com.server.core.SecurityManager =DEBUG
>
> log4j.logger. com.server.core.SecurityPatternsCreator =DEBUG
>
>
>
>
> log4j.appender.LogFile=org.apache.log4j.RollingFileAppender
>
>log4j.appender.LogFile.File=c:/server.log
>
>log4j.appender.LogFile.MaxFileSize=5MB
>
>log4j.appender.LogFile.MaxBackupIndex=10
>
>
> log4j.appender.LogFile.layout=org.apache.log4j.PatternLayout
>
>log4j.appender.LogFile.layout.ConversionPattern=%d{
> MM dd HH:mm:ss:SSS}# [%-5p]# [%t]# %c# %C{1}.%M# %m%n
>
>
>
> In case of my application I have a security related library
> (securitylib.jar) in which there we do some is a critical security
> related processing. And I want to set logging level of "INFO" to all the
> classes/loggers from this jar.
>
> The log4j configuration is done before loading securitylib.jar using
> above configuration file.
>
> When securitylib.jar is loaded I tried to re-configure log4j using
> following code.
>
> (what I have done here is removed all the explicit loggers set in
> configuration file, updated the configuration properties and configured
> logger again)
>
>
>
> But when I test the system I am still able to see the DEBUG logs for
> classes/loggers com.server.core.SecurityManager and
> com.server.core.SecurityPatternsCreator (which I had marked as DEBUG in
> config files)
>
>
>
> My questions are ...
>
> 1.   Why after reconfiguring the loggers the new configuration is
> not getting reflected ?
>
> 2.   Is there any way to get the current log4j configuration and
> change it at runtime ?
>
>
>
> Thanks in advance for your help!
>
> ~PP
>
>
>
> private void reinitLog4j()
>
>{
>
>try
>
>{
>
>String log4jFile = System.getProperty("log4j.file");
>
>Properties properties = new Properties();
>
>properties.load(new FileInputStream(log4jFile));
>
>updateLoggingConfiguration(properties);
>
>PropertyConfigurator.configure(properties);
>
>}
>
>catch (IOException ioEx)
>
>{
>
>throw new RuntimeException("failed to reconfigure
> logger "
>
>+ ioEx.getMessage(), ioEx);
>
>}
>
>logger = Logger.getLogger(this.getClass());
>
>logger.info("Log4j RE initialised to use INFO logs
> everywhere !");
>
>logger.debug("THIS SHOULD NEVER COME IN LOGS");
>
>}
>
>
>
>private void updateLoggingConfiguration(Properties properties)
>
>{
>
>for (Iterator iterator =
> properties.entrySet().iterator(); iterator
>
>.hasNext();)
>
>{
>
>Entry entry = (Entry) iterator.next();
>
>String key = (String) entry.getKey();
>
>if (key.equalsIgnoreCase("log4j.rootLogger"))
>
>{
>
>
> entry.setValue(getRootLoggerConfiguration((String) entry
>
>.getValue()));
>
>}
>
>else if (key.startsWith("log4j.logger"))
>
>{
>
>iterator.remove();
>
>}
>
>}
>
>}
>
>
>
>private String getRoot

Re: Changing log4j configuration runtime ...

2009-06-21 Thread Yair Ogen
Why not use a regular property file?

Then when you to update the file you can load the changes automatically
using the "PropertyConfigurator.configureAndWatch" mechanism.


On Sun, Jun 21, 2009 at 11:41 AM, Preetam Palwe  wrote:

> Hello all,
>
>
>
> I have successfully configured log4j in my standalone java application
> using PropertyConfigurator.configure()
>
> Here is the configuration file
>
>
>
> log4j.rootLogger=DBUG, LogFile
>
>
>
> log4j.logger.com.server.core=INFO
>
> log4j.logger. com.server.core.SecurityManager =DEBUG
>
> log4j.logger. com.server.core.SecurityPatternsCreator =DEBUG
>
>
>
>
> log4j.appender.LogFile=org.apache.log4j.RollingFileAppender
>
>log4j.appender.LogFile.File=c:/server.log
>
>log4j.appender.LogFile.MaxFileSize=5MB
>
>log4j.appender.LogFile.MaxBackupIndex=10
>
>
> log4j.appender.LogFile.layout=org.apache.log4j.PatternLayout
>
>log4j.appender.LogFile.layout.ConversionPattern=%d{
> MM dd HH:mm:ss:SSS}# [%-5p]# [%t]# %c# %C{1}.%M# %m%n
>
>
>
> In case of my application I have a security related library
> (securitylib.jar) in which there we do some is a critical security
> related processing. And I want to set logging level of "INFO" to all the
> classes/loggers from this jar.
>
> The log4j configuration is done before loading securitylib.jar using
> above configuration file.
>
> When securitylib.jar is loaded I tried to re-configure log4j using
> following code.
>
> (what I have done here is removed all the explicit loggers set in
> configuration file, updated the configuration properties and configured
> logger again)
>
>
>
> But when I test the system I am still able to see the DEBUG logs for
> classes/loggers com.server.core.SecurityManager and
> com.server.core.SecurityPatternsCreator (which I had marked as DEBUG in
> config files)
>
>
>
> My questions are ...
>
> 1.   Why after reconfiguring the loggers the new configuration is
> not getting reflected ?
>
> 2.   Is there any way to get the current log4j configuration and
> change it at runtime ?
>
>
>
> Thanks in advance for your help!
>
> ~PP
>
>
>
> private void reinitLog4j()
>
>{
>
>try
>
>{
>
>String log4jFile = System.getProperty("log4j.file");
>
>Properties properties = new Properties();
>
>properties.load(new FileInputStream(log4jFile));
>
>updateLoggingConfiguration(properties);
>
>PropertyConfigurator.configure(properties);
>
>}
>
>catch (IOException ioEx)
>
>{
>
>throw new RuntimeException("failed to reconfigure
> logger "
>
>+ ioEx.getMessage(), ioEx);
>
>}
>
>logger = Logger.getLogger(this.getClass());
>
>logger.info("Log4j RE initialised to use INFO logs
> everywhere !");
>
>logger.debug("THIS SHOULD NEVER COME IN LOGS");
>
>}
>
>
>
>private void updateLoggingConfiguration(Properties properties)
>
>{
>
>for (Iterator iterator =
> properties.entrySet().iterator(); iterator
>
>.hasNext();)
>
>{
>
>Entry entry = (Entry) iterator.next();
>
>String key = (String) entry.getKey();
>
>if (key.equalsIgnoreCase("log4j.rootLogger"))
>
>{
>
>
> entry.setValue(getRootLoggerConfiguration((String) entry
>
>.getValue()));
>
>}
>
>else if (key.startsWith("log4j.logger"))
>
>{
>
>iterator.remove();
>
>}
>
>}
>
>}
>
>
>
>private String getRootLoggerConfiguration(String currentConfig)
>
>{
>
>String[] tokens = IOUtil.tokenizeString(currentConfig,
> ",");
>
>StringBuilder builder = new StringBuilder();
>
>for (int i = 0; i < tokens.length; i++)
>
>{
>
>if (i == 0)
>
>{
>
>builder.append("INFO");
>
>continue;
>
>}
>
>builder.append(", " + tokens[i]);
>
>}
>
>return builder.toString();
>
>}
>
>
>
>
>
>
>
>


Changing log4j configuration runtime ...

2009-06-21 Thread Preetam Palwe
Hello all,

 

I have successfully configured log4j in my standalone java application
using PropertyConfigurator.configure()

Here is the configuration file 

 

log4j.rootLogger=DBUG, LogFile

 

log4j.logger.com.server.core=INFO

log4j.logger. com.server.core.SecurityManager =DEBUG

log4j.logger. com.server.core.SecurityPatternsCreator =DEBUG

 

 
log4j.appender.LogFile=org.apache.log4j.RollingFileAppender

log4j.appender.LogFile.File=c:/server.log

log4j.appender.LogFile.MaxFileSize=5MB

log4j.appender.LogFile.MaxBackupIndex=10

 
log4j.appender.LogFile.layout=org.apache.log4j.PatternLayout

log4j.appender.LogFile.layout.ConversionPattern=%d{
MM dd HH:mm:ss:SSS}# [%-5p]# [%t]# %c# %C{1}.%M# %m%n

 

In case of my application I have a security related library
(securitylib.jar) in which there we do some is a critical security
related processing. And I want to set logging level of "INFO" to all the
classes/loggers from this jar.

The log4j configuration is done before loading securitylib.jar using
above configuration file.

When securitylib.jar is loaded I tried to re-configure log4j using
following code.

(what I have done here is removed all the explicit loggers set in
configuration file, updated the configuration properties and configured
logger again)

 

But when I test the system I am still able to see the DEBUG logs for
classes/loggers com.server.core.SecurityManager and
com.server.core.SecurityPatternsCreator (which I had marked as DEBUG in
config files)

 

My questions are ...

1.   Why after reconfiguring the loggers the new configuration is
not getting reflected ?

2.   Is there any way to get the current log4j configuration and
change it at runtime ?

 

Thanks in advance for your help!

~PP

 

private void reinitLog4j()

{

try

{

String log4jFile = System.getProperty("log4j.file");

Properties properties = new Properties();

properties.load(new FileInputStream(log4jFile));

updateLoggingConfiguration(properties);

PropertyConfigurator.configure(properties);

}

catch (IOException ioEx)

{

throw new RuntimeException("failed to reconfigure
logger "

+ ioEx.getMessage(), ioEx);

}

logger = Logger.getLogger(this.getClass());

logger.info("Log4j RE initialised to use INFO logs
everywhere !");

logger.debug("THIS SHOULD NEVER COME IN LOGS");

}

 

private void updateLoggingConfiguration(Properties properties)

{

for (Iterator iterator =
properties.entrySet().iterator(); iterator

.hasNext();)

{

Entry entry = (Entry) iterator.next();

String key = (String) entry.getKey();

if (key.equalsIgnoreCase("log4j.rootLogger"))

{

 
entry.setValue(getRootLoggerConfiguration((String) entry

.getValue()));

}

else if (key.startsWith("log4j.logger"))

{

iterator.remove();

}

}

}

 

private String getRootLoggerConfiguration(String currentConfig)

{

String[] tokens = IOUtil.tokenizeString(currentConfig,
",");

StringBuilder builder = new StringBuilder();

for (int i = 0; i < tokens.length; i++)

{

if (i == 0)

{

builder.append("INFO");

continue;

}

builder.append(", " + tokens[i]);

}

return builder.toString();

}

 

 

 



RE: static log4j configuration statement

2008-09-11 Thread Michael Erskine
Bender Heri [mailto:[EMAIL PROTECTED] wrote:

> Just put your property file into the classpath and you do not have to
> worry about initialization of log4j framework. It does it automagically
> when you fetch the first logger.
> Heri

Whilst that might be perfectly correct it is not what I'm attempting to achieve 
here; when I run any of my JUnit test suites the normal initialisation is 
suppressed and the first test will bootstrap a pleasing ConsoleAppender so the 
test results can be recorded. This technique can be used in any scenario where 
we want a basic but useful log4j configuration created if one has not already 
been configured explicitly (or, perhaps, automagically).

Regards,
Michael Erskine.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: [SPAM (Bayesain Analysis)] - RE: static log4j configuration statement - Bayesian Filter detected spam

2008-09-11 Thread Bender Heri
Just put your property file into the classpath and you do not have to
worry about initialization of log4j framework. It does it automagically
when you fetch the first logger.
Heri 

> -Original Message-
> From: Michael Erskine [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, September 10, 2008 4:20 PM
> To: Log4J Users List
> Subject: [SPAM (Bayesain Analysis)] - RE: static log4j 
> configuration statement - Bayesian Filter detected spam
> 
> > I use standard static code to include the log4j configuration:
> >
> > static {
> > PropertyConfigurator.configure("file"));
> > }
> >
> > But this code is not always executed, depending on if the class in 
> > which this is included particpates in execution. But if I add this 
> > statment to other classes too, I sooner or later get 
> double-messages 
> > as two classes with this statement are used. Then I need to 
> manually 
> > remove the code in one of them to achieve proper logging.
> >
> > How this is done right? I just want to have this 
> configuration stated 
> > once and applicable to the whole project.
> 
> Hi Sebastian,
> 
> What I tend to do is have a class to do something similar but 
> first check whether already configured: my class is called 
> LogConfigureCheck and is used in a static block for all my 
> JUnit tests thus...
> 
> static {
> LogConfigureCheck.check();
> }
> 
> ...and here follows a version of the class suitable for 
> redistribution.
> 
> Enjoy,
> Michael Erskine
> 
> 
> import org.apache.log4j.ConsoleAppender; import 
> org.apache.log4j.Logger; import org.apache.log4j.PatternLayout;
> 
> /**
>  * Occasionally we find a JUnit test suite or test case class 
> that tests classes
>  * that use log4j but for whatever reason log4j is not 
> configured. We want to
>  * avoid log4j being configured multiple times as this adds 
> its own problems!
>  * The aim here is to enforce that log4j is configured once 
> and only once with
>  * typical but useful features.
>  *
>  * @author Michael Erskine (msemtd)
>  */
> public class LogConfigureCheck {
> public static void check() {
> // One indicator of log4j not being configured is the 
> lack of appenders
> // for the root logger. So...
> if 
> (!Logger.getRootLogger().getAllAppenders().hasMoreElements()) {
> // Here we could just use BasicConfigurator.configure()
> // but the layout is not as useful as it could be 
> - here we do
> // essentially the same but with a better layout...
> Logger.getRootLogger().addAppender(
> new ConsoleAppender(new PatternLayout(
> "%-5p %d{HH:mm:ss.SSS} %c [%t] %m%n")));
> }
> }
> }
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: static log4j configuration statement

2008-09-10 Thread Michael Erskine
> I use standard static code to include the log4j configuration:
>
> static {
> PropertyConfigurator.configure("file"));
> }
>
> But this code is not always executed, depending on if the class in which
> this is included particpates in execution. But if I add this statment to
> other classes too,
> I sooner or later get double-messages as two classes with this statement
> are used. Then I need to manually remove the code in one of them to
> achieve proper logging.
>
> How this is done right? I just want to have this configuration stated
> once and applicable to the whole project.

Hi Sebastian,

What I tend to do is have a class to do something similar but first check 
whether already configured: my class is called LogConfigureCheck and is used in 
a static block for all my JUnit tests thus...

static {
LogConfigureCheck.check();
}

...and here follows a version of the class suitable for redistribution.

Enjoy,
Michael Erskine


import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;

/**
 * Occasionally we find a JUnit test suite or test case class that tests classes
 * that use log4j but for whatever reason log4j is not configured. We want to
 * avoid log4j being configured multiple times as this adds its own problems!
 * The aim here is to enforce that log4j is configured once and only once with
 * typical but useful features.
 *
 * @author Michael Erskine (msemtd)
 */
public class LogConfigureCheck {
public static void check() {
// One indicator of log4j not being configured is the lack of appenders
// for the root logger. So...
if (!Logger.getRootLogger().getAllAppenders().hasMoreElements()) {
// Here we could just use BasicConfigurator.configure()
// but the layout is not as useful as it could be - here we do
// essentially the same but with a better layout...
Logger.getRootLogger().addAppender(
new ConsoleAppender(new PatternLayout(
"%-5p %d{HH:mm:ss.SSS} %c [%t] %m%n")));
}
}
}


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



static log4j configuration statement

2008-09-10 Thread s . mayer

Hi all,

I use standard static code to include the log4j configuration:

static {
   PropertyConfigurator.configure("file"));
}

But this code is not always executed, depending on if the class in which 
this is included particpates in execution. But if I add this statment to 
other classes too,
I sooner or later get double-messages as two classes with this statement 
are used. Then I need to manually remove the code in one of them to 
achieve proper logging.


How this is done right? I just want to have this configuration stated 
once and applicable to the whole project.


Thanks for help!
Sebastian

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Syslog message is sent twice in the case no log4j configuration file is used

2008-07-09 Thread Berwanger, Christian
Thx Heri for answering!

Following code unfortunately produces the same problem. I still receive
the message twice. 

m_logger = Logger.getRootLogger();
m_logger.setAdditivity(false);
m_syslogAppender = new SyslogAppender();
m_syslogAppender.activateOptions();
m_syslogAppender.setLayout(new PatternLayout("%c: %m%n"));
m_syslogAppender.setSyslogHost("localhost");
m_logger.addAppender(m_syslogAppender);
m_syslogAppender.setFacility(mapFacilityID(this.m_facility));
sendLogMessage(logMessage);
m_logger.removeAllAppenders();


The only thing what I could imagine is that in the case there is no
configuration file defined the system automatically generates a standard
configuration with a standard syslog appender. To avoid this I tried to
set the Additivity to false. 

I also called the "getAllAppenders()" in order to count the added
appenders but I only got the right number of one!

Has somebody any other ideas?

Christian

-Original Message-
From: Bender Heri [mailto:[EMAIL PROTECTED] 
Sent: Mittwoch, 9. Juli 2008 15:59
To: Log4J Users List
Subject: RE: Syslog message is sent twice in the case no log4j
configuration file is used

My only guess is that setting the additivity flag by code does not have
any effect. Or maybe a kind of activateOptions() on the logger must be
performed.

Why dont you fetch the RootLogger for appending your syslog appender, as
you do in your config example? After the log call you clear the
appenders anyway.

Heri 

> -Original Message-
> From: Berwanger, Christian [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, July 09, 2008 9:27 AM
> To: Log4J Users List
> Subject: RE: Syslog message is sent twice in the case no 
> log4j configuration file is used
> 
> Nobody has an idea?
> 
> -Original Message-
> From: Berwanger, Christian [mailto:[EMAIL PROTECTED]
> Sent: Dienstag, 8. Juli 2008 12:15
> To: log4j-user@logging.apache.org
> Subject: Syslog message is sent twice in the case no log4j 
> configuration file is used
> 
> Hi log4j comunity,
> 
>  
> 
> I'm using the log4j appender in order to send my log message 
> to a remote host. I decided not to use the config file 
> because the application itself is already using a central 
> config file which I want to use to read my configurable data 
> (like hostname, port...). However when I'm using the log4j 
> API without config file the message is sent twice times.
> 
>  
> 
> I read and tried already the hints on the tutorial sites 
> without success which threads several ideas for the problem 
> of multiple same messages. 
> 
>  
> 
>  m_logger = Logger.getLogger(SecurityEvent.class.getName());
> 
>  m_logger.setAdditivity(false);
> 
>  m_syslogAppender = new SyslogAppender();
> 
>  m_syslogAppender.activateOptions();
> 
>  m_syslogAppender.setLayout(new PatternLayout("%c: %m%n"));
> 
>  m_syslogAppender.setSyslogHost("localhost");
> 
>  m_logger.addAppender(m_syslogAppender);
> 
>  m_syslogAppender.setFacility(mapFacilityID(this.m_facility));
> 
>  sendLogMessage(logMessage);
> 
>  m_logger.removeAllAppenders();
> 
>  
> 
> However when I tried following configuration file instead it 
> worked fine.
> 
>  
> 
> # Set root logger level to DEBUG and its only appender to A1.
> 
> log4j.rootLogger=DEBUG, A1
> 
>  
> 
> # A1 is set to be a ConsoleAppender.
> 
> log4j.appender.A1=org.apache.log4j.net.SyslogAppender
> 
>  
> 
> # A1 uses PatternLayout.
> 
> log4j.appender.A1.layout=org.apache.log4j.PatternLayout
> 
> log4j.appender.A1.SyslogHost=localhost
> 
>  
> 
> log4j.appender.A1.layout.ConversionPattern=%c: %m%n
> 
>  
> 
>  
> 
> How can I get only ONE log message?
> 
>  
> 
> Thanks for all help
> 
>  
> 
> Christian
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
> 
> 
> This e-mail and any attachment is for authorised use by the intended
> recipient(s) only. It may contain proprietary material, 
> confidential information and/or be subject to legal 
> privilege. It should not be copied, disclosed to, retained or 
> used by, any other party. If you are not an intended 
> recipient then please promptly delete this e-mail and any 
> attachment and all copies and inform the sender. Thank you.
> 
> 
> This e-mail and any attachment is for authorised use by the 
> intended recipient(s) only. It may contain proprietary 
> material, confidential information and/or be subject to legal 
> privilege. It should not be copied, disclosed to, retained or 
> used by, any other party. If you are not an intended 
> recipient then please promptly delete this e-mail and any 
> attachment an

RE: Syslog message is sent twice in the case no log4j configuration file is used

2008-07-09 Thread Bender Heri
My only guess is that setting the additivity flag by code does not have
any effect. Or maybe a kind of activateOptions() on the logger must be
performed.

Why dont you fetch the RootLogger for appending your syslog appender, as
you do in your config example? After the log call you clear the
appenders anyway.

Heri 

> -Original Message-
> From: Berwanger, Christian [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, July 09, 2008 9:27 AM
> To: Log4J Users List
> Subject: RE: Syslog message is sent twice in the case no 
> log4j configuration file is used
> 
> Nobody has an idea?
> 
> -Original Message-
> From: Berwanger, Christian [mailto:[EMAIL PROTECTED]
> Sent: Dienstag, 8. Juli 2008 12:15
> To: log4j-user@logging.apache.org
> Subject: Syslog message is sent twice in the case no log4j 
> configuration file is used
> 
> Hi log4j comunity,
> 
>  
> 
> I'm using the log4j appender in order to send my log message 
> to a remote host. I decided not to use the config file 
> because the application itself is already using a central 
> config file which I want to use to read my configurable data 
> (like hostname, port...). However when I'm using the log4j 
> API without config file the message is sent twice times.
> 
>  
> 
> I read and tried already the hints on the tutorial sites 
> without success which threads several ideas for the problem 
> of multiple same messages. 
> 
>  
> 
>  m_logger = Logger.getLogger(SecurityEvent.class.getName());
> 
>  m_logger.setAdditivity(false);
> 
>  m_syslogAppender = new SyslogAppender();
> 
>  m_syslogAppender.activateOptions();
> 
>  m_syslogAppender.setLayout(new PatternLayout("%c: %m%n"));
> 
>  m_syslogAppender.setSyslogHost("localhost");
> 
>  m_logger.addAppender(m_syslogAppender);
> 
>  m_syslogAppender.setFacility(mapFacilityID(this.m_facility));
> 
>  sendLogMessage(logMessage);
> 
>  m_logger.removeAllAppenders();
> 
>  
> 
> However when I tried following configuration file instead it 
> worked fine.
> 
>  
> 
> # Set root logger level to DEBUG and its only appender to A1.
> 
> log4j.rootLogger=DEBUG, A1
> 
>  
> 
> # A1 is set to be a ConsoleAppender.
> 
> log4j.appender.A1=org.apache.log4j.net.SyslogAppender
> 
>  
> 
> # A1 uses PatternLayout.
> 
> log4j.appender.A1.layout=org.apache.log4j.PatternLayout
> 
> log4j.appender.A1.SyslogHost=localhost
> 
>  
> 
> log4j.appender.A1.layout.ConversionPattern=%c: %m%n
> 
>  
> 
>  
> 
> How can I get only ONE log message?
> 
>  
> 
> Thanks for all help
> 
>  
> 
> Christian
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
> 
> 
> This e-mail and any attachment is for authorised use by the intended
> recipient(s) only. It may contain proprietary material, 
> confidential information and/or be subject to legal 
> privilege. It should not be copied, disclosed to, retained or 
> used by, any other party. If you are not an intended 
> recipient then please promptly delete this e-mail and any 
> attachment and all copies and inform the sender. Thank you.
> 
> 
> This e-mail and any attachment is for authorised use by the 
> intended recipient(s) only. It may contain proprietary 
> material, confidential information and/or be subject to legal 
> privilege. It should not be copied, disclosed to, retained or 
> used by, any other party. If you are not an intended 
> recipient then please promptly delete this e-mail and any 
> attachment and all copies and inform the sender. Thank you.
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Syslog message is sent twice in the case no log4j configuration file is used

2008-07-09 Thread Berwanger, Christian
Nobody has an idea?

-Original Message-
From: Berwanger, Christian [mailto:[EMAIL PROTECTED] 
Sent: Dienstag, 8. Juli 2008 12:15
To: log4j-user@logging.apache.org
Subject: Syslog message is sent twice in the case no log4j configuration
file is used

Hi log4j comunity,

 

I'm using the log4j appender in order to send my log message to a remote
host. I decided not to use the config file because the application
itself is already using a central config file which I want to use to
read my configurable data (like hostname, port...). However when I'm
using the log4j API without config file the message is sent twice times.

 

I read and tried already the hints on the tutorial sites without success
which threads several ideas for the problem of multiple same messages. 

 

 m_logger = Logger.getLogger(SecurityEvent.class.getName());

 m_logger.setAdditivity(false);

 m_syslogAppender = new SyslogAppender();

 m_syslogAppender.activateOptions();

 m_syslogAppender.setLayout(new PatternLayout("%c: %m%n"));

 m_syslogAppender.setSyslogHost("localhost");

 m_logger.addAppender(m_syslogAppender);

 m_syslogAppender.setFacility(mapFacilityID(this.m_facility));

 sendLogMessage(logMessage);

 m_logger.removeAllAppenders();

 

However when I tried following configuration file instead it worked
fine.

 

# Set root logger level to DEBUG and its only appender to A1.

log4j.rootLogger=DEBUG, A1

 

# A1 is set to be a ConsoleAppender.

log4j.appender.A1=org.apache.log4j.net.SyslogAppender

 

# A1 uses PatternLayout.

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.SyslogHost=localhost

 

log4j.appender.A1.layout.ConversionPattern=%c: %m%n

 

 

How can I get only ONE log message?

 

Thanks for all help

 

Christian

 

 

 

 

 

 

 



This e-mail and any attachment is for authorised use by the intended
recipient(s) only. It may contain proprietary material, confidential
information and/or be subject to legal privilege. It should not be
copied, disclosed to, retained or used by, any other party. If you are
not an intended recipient then please promptly delete this e-mail and
any attachment and all copies and inform the sender. Thank you.


This e-mail and any attachment is for authorised use by the intended 
recipient(s) only. It may contain proprietary material, confidential 
information and/or be subject to legal privilege. It should not be copied, 
disclosed to, retained or used by, any other party. If you are not an intended 
recipient then please promptly delete this e-mail and any attachment and all 
copies and inform the sender. Thank you.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Syslog message is sent twice in the case no log4j configuration file is used

2008-07-08 Thread Berwanger, Christian
Hi log4j comunity,

 

I'm using the log4j appender in order to send my log message to a remote
host. I decided not to use the config file because the application
itself is already using a central config file which I want to use to
read my configurable data (like hostname, port...). However when I'm
using the log4j API without config file the message is sent twice times.

 

I read and tried already the hints on the tutorial sites without success
which threads several ideas for the problem of multiple same messages. 

 

 m_logger = Logger.getLogger(SecurityEvent.class.getName());

 m_logger.setAdditivity(false);

 m_syslogAppender = new SyslogAppender();

 m_syslogAppender.activateOptions();

 m_syslogAppender.setLayout(new PatternLayout("%c: %m%n"));

 m_syslogAppender.setSyslogHost("localhost");

 m_logger.addAppender(m_syslogAppender);

 m_syslogAppender.setFacility(mapFacilityID(this.m_facility));

 sendLogMessage(logMessage);

 m_logger.removeAllAppenders();

 

However when I tried following configuration file instead it worked
fine.

 

# Set root logger level to DEBUG and its only appender to A1.

log4j.rootLogger=DEBUG, A1

 

# A1 is set to be a ConsoleAppender.

log4j.appender.A1=org.apache.log4j.net.SyslogAppender

 

# A1 uses PatternLayout.

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.SyslogHost=localhost

 

log4j.appender.A1.layout.ConversionPattern=%c: %m%n

 

 

How can I get only ONE log message?

 

Thanks for all help



Christian

 

 

 

 

 

 

 



This e-mail and any attachment is for authorised use by the intended 
recipient(s) only. It may contain proprietary material, confidential 
information and/or be subject to legal privilege. It should not be copied, 
disclosed to, retained or used by, any other party. If you are not an intended 
recipient then please promptly delete this e-mail and any attachment and all 
copies and inform the sender. Thank you.



Re: Dynamic log4j configuration

2008-06-13 Thread bjacobt

Hi Shriver,
We use JMX to dynamically change log4j configuration. Log4j already has got
the JMX MBean classes, you just need to register them with an MBean server.

I'm currently using that in a project, I'm trying to figureout how to
persist the changes permanently.

Jacob.



Shriver, Daniel wrote:
> 
> I'm working on a project where we want to dynamically configure log4j
> during a run.
> 
> We want to change log levels, appenders, and filters in real time.
> 
> The "configureAndWait()" method doesn't look like it would work well
> for our needs because:
> 
> 1)  It would be a performance hog if we wanted it to act "real
> time" (delay < 500 ms)
> 
> 2)  We don't want to persist configuration changes from run to run
> (and if we write to the file that would be the default)
> 
>  
> 
> So I was thinking of loading the config file, and for dynamic changes
> simply changing the properties objects and calling the reset and
> configure methods.  I am confused, though, on why the
> PropertyConfigurator doesn't allow dynamic changes to filters (and only
> the DOMConfigurator does).  I looked at the DOMConfigurator briefly and
> I see that it calls the "addFilter() method of appender"  Is there any
> reason why the PropertyConfigurator doesn't do this?  Would it be ok
> for me to use a PropertyConfigurator, and call "addFilter()" to deal
> with filter changes myself?  I ask because I think connecting a UI with
> DOMConfigurator would be a bit clumsy, I'd have to hand craft XML for
> each change I want to send back.
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Dynamic-log4j-configuration-tp17229885p17824511.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Dynamic log4j configuration

2008-06-03 Thread James A. N. Stauffer
LogWeb does that so see it as an example (or use it directly).

On Wed, May 14, 2008 at 7:26 AM, Shriver, Daniel <[EMAIL PROTECTED]> wrote:
> I'm working on a project where we want to dynamically configure log4j
> during a run.
>
> We want to change log levels, appenders, and filters in real time.
>
> The "configureAndWait()" method doesn't look like it would work well
> for our needs because:
>
> 1)  It would be a performance hog if we wanted it to act "real
> time" (delay < 500 ms)
>
> 2)  We don't want to persist configuration changes from run to run
> (and if we write to the file that would be the default)
>
>
>
> So I was thinking of loading the config file, and for dynamic changes
> simply changing the properties objects and calling the reset and
> configure methods.  I am confused, though, on why the
> PropertyConfigurator doesn't allow dynamic changes to filters (and only
> the DOMConfigurator does).  I looked at the DOMConfigurator briefly and
> I see that it calls the "addFilter() method of appender"  Is there any
> reason why the PropertyConfigurator doesn't do this?  Would it be ok
> for me to use a PropertyConfigurator, and call "addFilter()" to deal
> with filter changes myself?  I ask because I think connecting a UI with
> DOMConfigurator would be a bit clumsy, I'd have to hand craft XML for
> each change I want to send back.
>
>



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

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: How can I tell which log4j configuration file is being used?

2008-05-21 Thread Rob Davis-5

The logic for selecting the configuration file is in the LogManager.java
log4j class.

The environment variable you're looking for might be:
DEFAULT_INIT_OVERRIDE_KEY
Do you remember where you set this?

I'd like to know how you stop it looking at both files and instead allow the
user to do BasicConfigurator.configure(); 

First log4j will look for the log4j.properties files
Then if it doesnt find this it will look for the log4j.xml file

If you want to see which one is has selected, use  -Dlog4j.debug in your JVM
arguments when you run your program.


-- 
View this message in context: 
http://www.nabble.com/How-can-I-tell-which-log4j-configuration-file-is-being-used--tp17353608p17364347.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: How can I tell which log4j configuration file is being used?

2008-05-20 Thread Curt Arnold
Setting the log4j.debug system property to true should cause log4j  
internal diagnostic messages to be displayed to the console.


java -Dlog4j.debug=true 




On May 20, 2008, at 7:17 PM, alexworden wrote:



In the past I've set an environment variable to force log4j to  
output which
log4j config file it is using - but I'll be damned if I can remember  
of find

any trace of it again on the web.

Can anyone help?

Thanks,

Alex

--
View this message in context: 
http://www.nabble.com/How-can-I-tell-which-log4j-configuration-file-is-being-used--tp17353608p17353608.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



How can I tell which log4j configuration file is being used?

2008-05-20 Thread alexworden

In the past I've set an environment variable to force log4j to output which
log4j config file it is using - but I'll be damned if I can remember of find
any trace of it again on the web. 

Can anyone help? 

Thanks,

Alex

-- 
View this message in context: 
http://www.nabble.com/How-can-I-tell-which-log4j-configuration-file-is-being-used--tp17353608p17353608.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Dynamic log4j configuration

2008-05-14 Thread Shriver, Daniel
I'm working on a project where we want to dynamically configure log4j
during a run.

We want to change log levels, appenders, and filters in real time.

The "configureAndWait()" method doesn't look like it would work well
for our needs because:

1)  It would be a performance hog if we wanted it to act "real
time" (delay < 500 ms)

2)  We don't want to persist configuration changes from run to run
(and if we write to the file that would be the default)

 

So I was thinking of loading the config file, and for dynamic changes
simply changing the properties objects and calling the reset and
configure methods.  I am confused, though, on why the
PropertyConfigurator doesn't allow dynamic changes to filters (and only
the DOMConfigurator does).  I looked at the DOMConfigurator briefly and
I see that it calls the "addFilter() method of appender"  Is there any
reason why the PropertyConfigurator doesn't do this?  Would it be ok
for me to use a PropertyConfigurator, and call "addFilter()" to deal
with filter changes myself?  I ask because I think connecting a UI with
DOMConfigurator would be a bit clumsy, I'd have to hand craft XML for
each change I want to send back.



Re: Websphere log4j configuration

2008-04-23 Thread Jacob Kjome




On Mon, 21 Apr 2008 18:04:58 -0700
 "Himanshu Shah" <[EMAIL PROTECTED]> wrote:

I have .ear application deployed in websphere. It has two war, one ejb and
one rar modules. I set the -Dlog4j.configuration=path to log4j.xml file as
JVM argument. In websphere my application class loading policy is set to:

  - Classloader order: Classes loaded with application class loader
  first
  - WAR class loader policy: Single class loader for application

I have my custom layout class which extends log4j's layout. I have
implemented getHeader() method which returns information such as product
name, version, host name etc. My problem is during websphere and application
startup header gets printed twice in log files (log messages are ok, they
are not printed twice). After debugging it looks like log4j is initialized
twice during each "war" loading.



That's curious.  I would expect log messages to be duplicates as well if 
configuration was performed twice?



Is this possible? Or is it something else?
P.S. log4j.jar resides in my application's .ear file.



Does any code in your app (or 3rd party apps) manually call configure()?  Of 
course, that wouldn't expalin by there's not duplicate log messages.


Jake


--
Himanshu
-
Fill the brain with high thoughts, highest ideals, place them day and night
before you, and out of that will come great work.
-



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Websphere log4j configuration

2008-04-21 Thread Himanshu Shah
I have .ear application deployed in websphere. It has two war, one ejb and
one rar modules. I set the -Dlog4j.configuration=path to log4j.xml file as
JVM argument. In websphere my application class loading policy is set to:

   - Classloader order: Classes loaded with application class loader
   first
   - WAR class loader policy: Single class loader for application

I have my custom layout class which extends log4j's layout. I have
implemented getHeader() method which returns information such as product
name, version, host name etc. My problem is during websphere and application
startup header gets printed twice in log files (log messages are ok, they
are not printed twice). After debugging it looks like log4j is initialized
twice during each "war" loading.

Is this possible? Or is it something else?
P.S. log4j.jar resides in my application's .ear file.

-- 
Himanshu
-
Fill the brain with high thoughts, highest ideals, place them day and night
before you, and out of that will come great work.
-


AW: multiple web application in same web container using different log4j configuration

2008-02-29 Thread Andreas Grund
Hi Jake,

thanks for your answers. And yes, I realized that 1.3 is dead. I will switch 
back to the 1.2 branch as far as possible.

Greetings and have a nice weekend,
Andreas


-Ursprüngliche Nachricht-
Von: Jacob Kjome [mailto:[EMAIL PROTECTED]
Gesendet: Do 28.02.2008 16:09
An: Log4J Users List
Betreff: Re: multiple web application in same web container using different 
log4j configuration
 
You have one of two choices.

1.  Put Log4j in a parent classloader where all apps can see it and use a 
repository selector, usually based on JNDI.
2.  Don't put log4j in a parent classloader.  Only put it in WEB-INF/lib for 
each webapp.  And put log4j.xml in WEB-INF/classes for each webapp.  Since 
none of the webapps will be using the same log4j instance, they will each use 
a separate logger repository.

BTW, you do realize that Log4j-1.3 is not an official version of Log4j and 
development has ceased in favor of further development of Logj4-1.2.xx along 
with Log4j companions for some Log4j-1.3 specific functionality?

Jake

On Thu, 28 Feb 2008 15:16:15 +0100
  "Andreas Grund" <[EMAIL PROTECTED]> wrote:
> Hi Mailinglist,
> 
> I have several web applications running in the same container. I want to 
> use different log4j config files for them, but I have problems to do so. 
> The problem is, that every time just one web application is logging. I use 
> the weblogic 8.1 application server and log4j 1.3. What do I have to do to 
> activate logging for every web application or isn´t it possible?
> 
> Thanks for your help!
> 
> Greetings,
> Andreas
> 
> -- 
> Andreas Grund
> externer Mitarbeiter Projet GUTS bei Conti
> mailto:[EMAIL PROTECTED]
> Mobile:
> 
> 
> 
> 
> Germany
> 
> Phone:
>Fax:
> 
> 
> 
> Geschäftsführer: Ingo Kriescher
> Amtsgericht Düsseldorf HRB48672
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: multiple web application in same web container using different log4j configuration

2008-02-28 Thread Jacob Kjome

You have one of two choices.

1.  Put Log4j in a parent classloader where all apps can see it and use a 
repository selector, usually based on JNDI.
2.  Don't put log4j in a parent classloader.  Only put it in WEB-INF/lib for 
each webapp.  And put log4j.xml in WEB-INF/classes for each webapp.  Since 
none of the webapps will be using the same log4j instance, they will each use 
a separate logger repository.


BTW, you do realize that Log4j-1.3 is not an official version of Log4j and 
development has ceased in favor of further development of Logj4-1.2.xx along 
with Log4j companions for some Log4j-1.3 specific functionality?


Jake

On Thu, 28 Feb 2008 15:16:15 +0100
 "Andreas Grund" <[EMAIL PROTECTED]> wrote:

Hi Mailinglist,

I have several web applications running in the same container. I want to 
use different log4j config files for them, but I have problems to do so. 
The problem is, that every time just one web application is logging. I use 
the weblogic 8.1 application server and log4j 1.3. What do I have to do to 
activate logging for every web application or isn´t it possible?


Thanks for your help!

Greetings,
Andreas

--
Andreas Grund
externer Mitarbeiter Projet GUTS bei Conti
mailto:[EMAIL PROTECTED]
Mobile:




Germany

Phone:
Fax:



Geschäftsführer: Ingo Kriescher
Amtsgericht Düsseldorf HRB48672

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



multiple web application in same web container using different log4j configuration

2008-02-28 Thread Andreas Grund
Hi Mailinglist,

I have several web applications running in the same container. I want to 
use different log4j config files for them, but I have problems to do so. 
The problem is, that every time just one web application is logging. I use 
the weblogic 8.1 application server and log4j 1.3. What do I have to do to 
activate logging for every web application or isn´t it possible?

Thanks for your help!

Greetings,
Andreas

-- 
Andreas Grund
externer Mitarbeiter Projet GUTS bei Conti
mailto:[EMAIL PROTECTED]
Mobile:




Germany

Phone:
Fax:



Geschäftsführer: Ingo Kriescher
Amtsgericht Düsseldorf HRB48672

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Forcing XML configuration file to reset Log4J configuration

2007-11-13 Thread Curt Arnold


On Nov 13, 2007, at 3:58 PM, Paul Duffy wrote:


Folks,

Been bit by the incremental nature of XML configuration  
application.  Is there any way to not apply a changed XML  
configuration incrementally, but instead force full reset to  
reflect the state of the configuration file?


Cheers



log4j 1.2.15 and later support a reset attribute on the  
log4j:configuration element:




See http://issues.apache.org/bugzilla/show_bug.cgi?id=17531


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Forcing XML configuration file to reset Log4J configuration

2007-11-13 Thread Paul Duffy

Thanks Matthew.

We're talking about a JBoss environment using the configureAndWatch type 
of mechanism to pick up the XML configuration changes.


There is no way to fully reset and reload the configuration w/o 
restarting the logging service?



Matthew Kemp wrote:

To reset an entire configuration you need something like this:

public void reloadLog4J() {
LogManager.resetConfiguration();
DOMConfigurator.configure("log4j.xml");
}

Unfortunately, even the DOMConfigurator.configureAndWatch() only does 
an incremental reload.



Matt


On Nov 13, 2007 3:58 PM, Paul Duffy <[EMAIL PROTECTED] 
> wrote:


Folks,

Been bit by the incremental nature of XML configuration
application.  Is
there any way to not apply a changed XML configuration incrementally,
but instead force full reset to reflect the state of the
configuration file?

Cheers

-
To unsubscribe, e-mail: [EMAIL PROTECTED]

For additional commands, e-mail:
[EMAIL PROTECTED]





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Forcing XML configuration file to reset Log4J configuration

2007-11-13 Thread Matthew Kemp
To reset an entire configuration you need something like this:

public void reloadLog4J() {
LogManager.resetConfiguration();
DOMConfigurator.configure("log4j.xml");
}

Unfortunately, even the DOMConfigurator.configureAndWatch() only does an
incremental reload.


Matt


On Nov 13, 2007 3:58 PM, Paul Duffy <[EMAIL PROTECTED]> wrote:

> Folks,
>
> Been bit by the incremental nature of XML configuration application.  Is
> there any way to not apply a changed XML configuration incrementally,
> but instead force full reset to reflect the state of the configuration
> file?
>
> Cheers
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


Forcing XML configuration file to reset Log4J configuration

2007-11-13 Thread Paul Duffy

Folks,

Been bit by the incremental nature of XML configuration application.  Is 
there any way to not apply a changed XML configuration incrementally, 
but instead force full reset to reflect the state of the configuration file?


Cheers

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Log4j Configuration

2007-06-28 Thread Gallagher, Ron
Ed --

Here's my recommendation:

1) Create a class that extends java.io.PrintStream.
2) In this class, override the public void println(String) method.  In
the overridden method, evaluate the string that's being written.  If the
string that's being written begins with "log4j:ERROR ", then record the
fact that log4j has encountered an error.
3) Before log4j loads it's configuration, replace System.err with your
extension of java.io.PrintStream.
4) Let log4j configure itself.
5) After the configuration is complete, restore System.err to the
original PrintStream and check your extension of java.io.PrintStream to
see if log4j wrote any error messages to System.err.

Here's some code:

// This is my extension of java.io.PrintStream
public class MyPrintStream extends PrintStream {
private List log4jErrors = new ArrayList();
public MyPrintStream(OutputStream out) throws FileNotFoundException
{
super(out);
}
public void println(String x) {
// Record any errors that originate from log4j.
if ((x != null) && (x.startsWith("log4j:ERROR "))) {
log4jErrors.add(x);
}
super.println(x);
}
public String[] getLog4jErrors() {
String[] result = new String[log4jErrors.size()];
result = (String[])log4jErrors.toArray(result);
return result;
}
}

// This class demonstrates how this would work.
private void runTest() {
try {
// Setup a new error stream.
MyPrintStream myPs = new MyPrintStream(System.err);
PrintStream oldErr = System.err;
System.setErr(myPs);

// Configure log4j.
DOMConfigurator.configureAndWatch("log4j.xml");

// Since my configuration has no errors in it, log4j didn't
write
// anything out to it's 'raw' logger. So, just for testing
purposes,
// I am going to write some messages out to log4j's 'raw' logger
in
// order to illustrate how you can respond to any errors that
occur
// during configuration. In a 'normal' situation, you would not
do
// this.
LogLog.error("Something bad has happened!!");
LogLog.error("This is an exception", new Exception(
"This is the exception"));

// Restore the old error stream.
System.setErr(oldErr);

// Check to see if log4j wrote anything out to System.err
String[] errors = myPs.getLog4jErrors();
if ((errors != null) && (errors.length != 0)) {
System.out.println("log4j recorded " + errors.length
+ (errors.length == 1 ? " error." : " errors."));
for (int i = 0; i < errors.length; i++) {
System.out.println("log4jErrors[" + i + "]="
+ errors[i]);
}
System.exit(1);
}

} catch (FileNotFoundException e) {
e.printStackTrace();
}
}

Ron Gallagher, AT&T Mobility

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Thursday, June 28, 2007 5:38 AM
To: Log4J Users List
Subject: Re: Log4j Configuration

Hi

Anybody got any ideas on this one?
Am i in correct mail list?
Rgds

Ed Howard
GSK House D3-133 ext 4996
external 00 44 020 8047 4996

[EMAIL PROTECTED] wrote on 25/06/2007 16:26:32:

> Hi
> Hopefully someone can help me. 
> I want to configure log4j from a properties file.
> I am writing a little java application. I have several log4j 
> appenders and everything works well. However I want the option to 
> exit application if ANY of log4j configuration fails.
> By default I am seeing a warning message from Log4j but application 
> continues to run...
> Do you know of a property to set for log4j that application exits if
> log4j properties are not correct?
> OR should I attempt this programmicatally.
> 
> Rgds
> 
> Ed Howard
> 
> ---
> This e-mail was sent by GlaxoSmithKline Services Unlimited 
> (registered in England and Wales No. 1047315), which is a 
> member of the GlaxoSmithKline group of companies. The 
> registered address of GlaxoSmithKline Services Unlimited 
> is 980 Great West Road, Brentford, Middlesex TW8 9GS.
> ---

---
This e-mail was sent by GlaxoSmithKline Services Unlimited 
(registered in England and Wales No. 1047315), which is a 
member of the GlaxoSmithKline group of companies. The 
registered address of GlaxoSmithKline Services Unlimited 
is 980 Great West Road, Brentford, Middlesex TW8 9GS.
---

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Log4j Configuration

2007-06-28 Thread ed . g . howard
Hi

Anybody got any ideas on this one?
Am i in correct mail list?
Rgds

Ed Howard
GSK House D3-133 ext 4996
external 00 44 020 8047 4996

[EMAIL PROTECTED] wrote on 25/06/2007 16:26:32:

> Hi
> Hopefully someone can help me. 
> I want to configure log4j from a properties file.
> I am writing a little java application. I have several log4j 
> appenders and everything works well. However I want the option to 
> exit application if ANY of log4j configuration fails.
> By default I am seeing a warning message from Log4j but application 
> continues to run...
> Do you know of a property to set for log4j that application exits if
> log4j properties are not correct?
> OR should I attempt this programmicatally.
> 
> Rgds
> 
> Ed Howard
> 
> ---
> This e-mail was sent by GlaxoSmithKline Services Unlimited 
> (registered in England and Wales No. 1047315), which is a 
> member of the GlaxoSmithKline group of companies. The 
> registered address of GlaxoSmithKline Services Unlimited 
> is 980 Great West Road, Brentford, Middlesex TW8 9GS.
> ---

---
This e-mail was sent by GlaxoSmithKline Services Unlimited 
(registered in England and Wales No. 1047315), which is a 
member of the GlaxoSmithKline group of companies. The 
registered address of GlaxoSmithKline Services Unlimited 
is 980 Great West Road, Brentford, Middlesex TW8 9GS.
---


Log4j Configuration

2007-06-25 Thread ed . g . howard
Hi
Hopefully someone can help me. 
I want to configure log4j from a properties file.
I am writing a little java application. I have several log4j 
appenders and everything works well. However I want the option to 
exit application if ANY of log4j configuration fails.
By default I am seeing a warning message from Log4j but application 
continues to run...
Do you know of a property to set for log4j that application exits if
log4j properties are not correct?
OR should I attempt this programmicatally.

Rgds

Ed Howard

---
This e-mail was sent by GlaxoSmithKline Services Unlimited 
(registered in England and Wales No. 1047315), which is a 
member of the GlaxoSmithKline group of companies. The 
registered address of GlaxoSmithKline Services Unlimited 
is 980 Great West Road, Brentford, Middlesex TW8 9GS.
---


Re: Can I change log4j configuration programatically?

2006-10-12 Thread James Stauffer

I don't change the logging config in code so I am not familiar with
that but you should only have to change the level of loggers with an
appender attached (at most).

On 10/12/06, vincentw <[EMAIL PROTECTED]> wrote:


Its seems the new level doesn't take effect.  So here's what I'm trying to
do.  I call a function "initLogging" to set up everything...call
DOMConfigurator and pass it my log4j.xml file.  So now log4j is setup with
some default stuff.  Now the cofig file may change the settings ie. logging
level.

Here's part of the code that does a check for config file

...
if(useUserConfigFile)
  {
  aLogger.setMaxBackupIndex(zxConfig.getProperty("numLogs"));

aLogger.setMaxFileSize(Long.parseLong(zxConfi.getProperty("logSize")));
  a.setLoggingLevel("root", zxConfig.getProperty("rootLogLevel"));
  a.setLoggingLevel("sql.xxx.xxx", zxConfig.getProperty("sqlLogLevel"));
  }


Here is part of the code to set the new logging...

...
Enumeration enLogger =
Logger.getRootLogger().getLoggerRepository().getCurrentLoggers();
  Logger tmpLogger = null;
  /* If logger is root, then need to loop through all loggers under root
   * and change their logging levels too.  Also, skip sql loggers so
they
   * do not get effected.
   */
  while(enLogger.hasMoreElements())
{
tmpLogger = (Logger)(enLogger.nextElement());

if(tmpLogger.getName().startsWith("sql.xxx.xxx") &&
logger.equals("sql.xxx.xxxi"))
  {
  tmpLogger.setLevel(Level.toLevel(level));
  continue;
  }
if(tmpLogger.getName().startsWith("xxx.xx") &&
logger.equals("root"))
  {
  tmpLogger.setLevel(Level.toLevel(level));
  }
}
while(enAppenders.hasMoreElements())
  {
appender = (Appender)enAppenders.nextElement();
if(appender.getName().equals("ASYNC"))
  {
  AsyncAppender asyncAppender = (AsyncAppender)appender;
  rfa = (RollingFileAppender)asyncAppender.getAppender("R");
  rfa.activateOptions();
  ca = (ConsoleAppender)asyncAppender.getAppender("STDOUT");
  ca.activateOptions();
  }
  }


Another question is, at this point, I have use getLogger for a lot of
packages.  Now I want to change to logging level of my root package, and
everything under it.  I need to loop through all loggers like I have in the
code right?

Or is there a better way of doing this?

Thanks
--
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6784793
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





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

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-12 Thread vincentw

Its seems the new level doesn't take effect.  So here's what I'm trying to
do.  I call a function "initLogging" to set up everything...call
DOMConfigurator and pass it my log4j.xml file.  So now log4j is setup with
some default stuff.  Now the cofig file may change the settings ie. logging
level.

Here's part of the code that does a check for config file

...
if(useUserConfigFile)
  {
  aLogger.setMaxBackupIndex(zxConfig.getProperty("numLogs"));
 
aLogger.setMaxFileSize(Long.parseLong(zxConfi.getProperty("logSize")));
  a.setLoggingLevel("root", zxConfig.getProperty("rootLogLevel"));
  a.setLoggingLevel("sql.xxx.xxx", zxConfig.getProperty("sqlLogLevel"));
  }


Here is part of the code to set the new logging...

...
Enumeration enLogger =
Logger.getRootLogger().getLoggerRepository().getCurrentLoggers();
  Logger tmpLogger = null;
  /* If logger is root, then need to loop through all loggers under root
   * and change their logging levels too.  Also, skip sql loggers so
they
   * do not get effected.
   */
  while(enLogger.hasMoreElements())
{
tmpLogger = (Logger)(enLogger.nextElement());

if(tmpLogger.getName().startsWith("sql.xxx.xxx") &&
logger.equals("sql.xxx.xxxi"))
  {
  tmpLogger.setLevel(Level.toLevel(level));
  continue;
  } 
if(tmpLogger.getName().startsWith("xxx.xx") &&
logger.equals("root"))
  {
  tmpLogger.setLevel(Level.toLevel(level));  
  }
}
while(enAppenders.hasMoreElements())
  {
appender = (Appender)enAppenders.nextElement();
if(appender.getName().equals("ASYNC"))
  {
  AsyncAppender asyncAppender = (AsyncAppender)appender;
  rfa = (RollingFileAppender)asyncAppender.getAppender("R");
  rfa.activateOptions();
  ca = (ConsoleAppender)asyncAppender.getAppender("STDOUT");
  ca.activateOptions();
  }
  }


Another question is, at this point, I have use getLogger for a lot of
packages.  Now I want to change to logging level of my root package, and
everything under it.  I need to loop through all loggers like I have in the
code right?

Or is there a better way of doing this?

Thanks
-- 
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6784793
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-12 Thread vincentw

Sorry, I found it...using the wrong object.  Thanks


James Stauffer wrote:
> 
> AppenderSkeleton has activateOptions() and SMTPAppender extends
> AppenderSkeleton so it should work.  What version do you have?  I
> would be surprised if any 1.2.x version that is less than a fre years
> old doesn't have that.
> 
> On 10/12/06, vincentw <[EMAIL PROTECTED]> wrote:
>>
>> It appears that I don't have that method...how do I get it?  Do I have an
>> older version?
>>
>>
>> James Stauffer wrote:
>> >
>> > I believe you call it on the appender after you change its settings.
>> >
>> > On 10/11/06, vincentw <[EMAIL PROTECTED]> wrote:
>> >>
>> >> What would I call activateOptions() with?
>> >>
>> >>
>> >> Bender Heri wrote:
>> >> >
>> >> > Yes, you can. Don't forget to call activateOptions() at the end of
>> >> > reconfiguring. You need not to restart the app.
>> >> > Heri
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6762094
>> >> Sent from the Log4j - Users mailing list archive at Nabble.com.
>> >>
>> >>
>> >> -
>> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>> >>
>> >>
>> >
>> >
>> > --
>> > James Staufferhttp://www.geocities.com/stauffer_james/
>> > Are you good? Take the test at http://www.livingwaters.com/good/
>> >
>> > -
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6783730
>> Sent from the Log4j - Users mailing list archive at Nabble.com.
>>
>>
>> -----
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> 
> -- 
> James Staufferhttp://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6784340
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-12 Thread James Stauffer

AppenderSkeleton has activateOptions() and SMTPAppender extends
AppenderSkeleton so it should work.  What version do you have?  I
would be surprised if any 1.2.x version that is less than a fre years
old doesn't have that.

On 10/12/06, vincentw <[EMAIL PROTECTED]> wrote:


It appears that I don't have that method...how do I get it?  Do I have an
older version?


James Stauffer wrote:
>
> I believe you call it on the appender after you change its settings.
>
> On 10/11/06, vincentw <[EMAIL PROTECTED]> wrote:
>>
>> What would I call activateOptions() with?
>>
>>
>> Bender Heri wrote:
>> >
>> > Yes, you can. Don't forget to call activateOptions() at the end of
>> > reconfiguring. You need not to restart the app.
>> > Heri
>> >
>> >
>>
>> --
>> View this message in context:
>> 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6762094
>> Sent from the Log4j - Users mailing list archive at Nabble.com.
>>
>>
>> -
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> --
> James Staufferhttp://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
>
> ---------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>

--
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6783730
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





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

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-12 Thread vincentw

It appears that I don't have that method...how do I get it?  Do I have an
older version?


James Stauffer wrote:
> 
> I believe you call it on the appender after you change its settings.
> 
> On 10/11/06, vincentw <[EMAIL PROTECTED]> wrote:
>>
>> What would I call activateOptions() with?
>>
>>
>> Bender Heri wrote:
>> >
>> > Yes, you can. Don't forget to call activateOptions() at the end of
>> > reconfiguring. You need not to restart the app.
>> > Heri
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6762094
>> Sent from the Log4j - Users mailing list archive at Nabble.com.
>>
>>
>> -
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> 
> -- 
> James Staufferhttp://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
> 
> -----
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6783730
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-11 Thread James Stauffer

I believe you call it on the appender after you change its settings.

On 10/11/06, vincentw <[EMAIL PROTECTED]> wrote:


What would I call activateOptions() with?


Bender Heri wrote:
>
> Yes, you can. Don't forget to call activateOptions() at the end of
> reconfiguring. You need not to restart the app.
> Heri
>
>

--
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6762094
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





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

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-11 Thread vincentw

What would I call activateOptions() with?


Bender Heri wrote:
> 
> Yes, you can. Don't forget to call activateOptions() at the end of
> reconfiguring. You need not to restart the app.
> Heri
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6762094
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-11 Thread James Stauffer

Using configureAndWatch you can just change the file and it will
update based on the changes.

On 10/11/06, vincentw <[EMAIL PROTECTED]> wrote:


Well, I use DOMConfigurator initially, but what about when the program is
running??

I would like to set a new root level or a log file size.  Can I do something
like

Logger.getRootLogger.setLevel

or something like that?  If I do it this way do I have to stop and restart
the logger?


James Stauffer wrote:
>
> A stand-alone Java application could use
> DOMConfigurator.configureAndWatch (but don't allow it to do automatic
> configuration).
>
>

--
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6760580
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





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

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-11 Thread Bender Heri
Yes, you can. Don't forget to call activateOptions() at the end of 
reconfiguring. You need not to restart the app.
Heri

> -Original Message-
> From: vincentw [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, October 11, 2006 7:06 PM
> To: log4j-user@logging.apache.org
> Subject: [SPAM (Bayesain Analysis)] - Re: Can I change log4j
> configuration programatically? - Bayesian Filter detected spam
> 
> 
> 
> Well, I use DOMConfigurator initially, but what about when 
> the program is
> running?? 
> 
> I would like to set a new root level or a log file size.  Can 
> I do something
> like
> 
> Logger.getRootLogger.setLevel
> 
> or something like that?  If I do it this way do I have to 
> stop and restart
> the logger?
> 
> 
> James Stauffer wrote:
> > 
> > A stand-alone Java application could use
> > DOMConfigurator.configureAndWatch (but don't allow it to do 
> automatic
> > configuration).
> > 
> > 
> 
> -- 
> View this message in context: 
> http://www.nabble.com/Can-I-change-log4j-configuration-program
> atically--tf2420301.html#a6760580
> Sent from the Log4j - Users mailing list archive at Nabble.com.
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-11 Thread vincentw

Well, I use DOMConfigurator initially, but what about when the program is
running?? 

I would like to set a new root level or a log file size.  Can I do something
like

Logger.getRootLogger.setLevel

or something like that?  If I do it this way do I have to stop and restart
the logger?


James Stauffer wrote:
> 
> A stand-alone Java application could use
> DOMConfigurator.configureAndWatch (but don't allow it to do automatic
> configuration).
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6760580
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-11 Thread vincentw

I see...no it's just a standalone Java application.



James is probably wondering whether your code is running in a web 
container, such as Tomcat.  In that case, LogWeb might be able to help

http://www.codeczar.com/products/logweb/

It works great for me!

Jake

-- 
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6757073
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-11 Thread James Stauffer

A stand-alone Java application could use
DOMConfigurator.configureAndWatch (but don't allow it to do automatic
configuration).

On 10/10/06, vincentw <[EMAIL PROTECTED]> wrote:


I'm don't quite understand the question.  it's a java application.


James Stauffer wrote:
>
> In what kind of environment are you running?
>
> On 10/10/06, vincentw <[EMAIL PROTECTED]> wrote:
>>
>> Hi I'm new to using log4j and would like to know if I can change the
>> configuration of log4j while it is already running.  I have passed my
>> log4j.xml to the DOMConfigurator and then I would like to change some
>> settings.
>>
>> Here is my log4j.xml file
>> 
>> 
>>
>> http://jakarta.apache.org/log4j/";
>> debug="false">
>>
>>   
>>   
>>   
>> 
>> 
>>   
>>   
>>   
>> 
>>   >   value="%d{ISO8601} %-17X{ipAddress} [%t] [%p] - %m%n"/>
>> 
>>   
>>   
>>   
>>   
>>   
>>   
>>   
>> > value="%d{ISO8601} %-17X{ipAddress} [%t] [%p] - %m%n"/>
>>   
>>   
>>
>> 
>> 
>> 
>>
>>   
>>   
>>   
>> 
>> 
>>   
>> 
>>
>>
>> Now based on a user config file, I would like to change some of the
>> config
>> such as the MaxFileSize of the rolling file appender or the number of
>> backup
>> logs it keeps.  I would also like to change the logging level of root or
>> sql.
>>
>> Is it possible to to this?  If so, how do I go about doing this?
>>
>> Thanks in advance
>> --
>> View this message in context:
>> 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6747745
>> Sent from the Log4j - Users mailing list archive at Nabble.com.
>>
>>
>> -
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> --
> James Staufferhttp://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>

--
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6750178
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





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

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-10 Thread Jacob Kjome


James is probably wondering whether your code is running in a web 
container, such as Tomcat.  In that case, LogWeb might be able to help


http://www.codeczar.com/products/logweb/

It works great for me!

Jake

At 11:38 PM 10/10/2006, you wrote:
>
>I'm don't quite understand the question.  it's a java application.
>
>
>James Stauffer wrote:
>>
>> In what kind of environment are you running?
>>
>> On 10/10/06, vincentw <[EMAIL PROTECTED]> wrote:
>>>
>>> Hi I'm new to using log4j and would like to know if I can change the
>>> configuration of log4j while it is already running.  I have passed my
>>> log4j.xml to the DOMConfigurator and then I would like to change some
>>> settings.
>>>
>>> Here is my log4j.xml file
>>> 
>>> 
>>>
>>> http://jakarta.apache.org/log4j/";
>>> debug="false">
>>>
>>>   
>>>   
>>>   
>>> 
>>> 
>>>   
>>>   
>>>   
>>> 
>>>   >>   value="%d{ISO8601} %-17X{ipAddress} [%t] [%p] - %m%n"/>
>>> 
>>>   
>>>   
>>>   
>>>   
>>>   
>>>   
>>>   
>>> >> value="%d{ISO8601} %-17X{ipAddress} [%t] [%p] - %m%n"/>
>>>   
>>>   
>>>
>>> 
>>> 
>>> 
>>>
>>>   
>>>   
>>>   
>>> 
>>> 
>>>   
>>> 
>>>
>>>
>>> Now based on a user config file, I would like to change some of the
>>> config
>>> such as the MaxFileSize of the rolling file appender or the number of
>>> backup
>>> logs it keeps.  I would also like to change the logging level of root or
>>> sql.
>>>
>>> Is it possible to to this?  If so, how do I go about doing this?
>>>
>>> Thanks in advance
>>> --
>>> View this message in context:
>>>
>http://www.nabble.com/Can-I-change-log4j-configuration-programatically
>--tf2420301.html#a6747745
>>> Sent from the Log4j - Users mailing list archive at Nabble.com.
>>>
>>>
>>> -
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>>
>> --
>> James Staufferhttp://www.geocities.com/stauffer_james/
>> Are you good? Take the test at http://www.livingwaters.com/good/
>>
>> -
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>
>--
>View this message in context:
>http://www.nabble.com/Can-I-change-log4j-configuration-programatically
>--tf2420301.html#a6750178
>Sent from the Log4j - Users mailing list archive at Nabble.com.
>
>
>-
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-10 Thread vincentw

I'm don't quite understand the question.  it's a java application.


James Stauffer wrote:
> 
> In what kind of environment are you running?
> 
> On 10/10/06, vincentw <[EMAIL PROTECTED]> wrote:
>>
>> Hi I'm new to using log4j and would like to know if I can change the
>> configuration of log4j while it is already running.  I have passed my
>> log4j.xml to the DOMConfigurator and then I would like to change some
>> settings.
>>
>> Here is my log4j.xml file
>> 
>> 
>>
>> http://jakarta.apache.org/log4j/";
>> debug="false">
>>
>>   
>>   
>>   
>> 
>> 
>>   
>>   
>>   
>> 
>>   >   value="%d{ISO8601} %-17X{ipAddress} [%t] [%p] - %m%n"/>
>> 
>>   
>>   
>>   
>>   
>>   
>>   
>>   
>> > value="%d{ISO8601} %-17X{ipAddress} [%t] [%p] - %m%n"/>
>>   
>>   
>>
>> 
>> 
>> 
>>
>>   
>>   
>>   
>> 
>> 
>>   
>> 
>>
>>
>> Now based on a user config file, I would like to change some of the
>> config
>> such as the MaxFileSize of the rolling file appender or the number of
>> backup
>> logs it keeps.  I would also like to change the logging level of root or
>> sql.
>>
>> Is it possible to to this?  If so, how do I go about doing this?
>>
>> Thanks in advance
>> --
>> View this message in context:
>> http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6747745
>> Sent from the Log4j - Users mailing list archive at Nabble.com.
>>
>>
>> -
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> 
> -- 
> James Staufferhttp://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6750178
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can I change log4j configuration programatically?

2006-10-10 Thread James Stauffer

In what kind of environment are you running?

On 10/10/06, vincentw <[EMAIL PROTECTED]> wrote:


Hi I'm new to using log4j and would like to know if I can change the
configuration of log4j while it is already running.  I have passed my
log4j.xml to the DOMConfigurator and then I would like to change some
settings.

Here is my log4j.xml file



http://jakarta.apache.org/log4j/";
debug="false">

  
  
  



  
  
  

  

  
  
  
  
  
  
  

  
  





  
  
  


  



Now based on a user config file, I would like to change some of the config
such as the MaxFileSize of the rolling file appender or the number of backup
logs it keeps.  I would also like to change the logging level of root or
sql.

Is it possible to to this?  If so, how do I go about doing this?

Thanks in advance
--
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6747745
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





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

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Can I change log4j configuration programatically?

2006-10-10 Thread vincentw

Hi I'm new to using log4j and would like to know if I can change the
configuration of log4j while it is already running.  I have passed my
log4j.xml to the DOMConfigurator and then I would like to change some
settings.

Here is my log4j.xml file



http://jakarta.apache.org/log4j/";
debug="false">

  
  
  



  
  
  

  

  
  
  
  
  
  
  

  
  





  
  
  


  



Now based on a user config file, I would like to change some of the config
such as the MaxFileSize of the rolling file appender or the number of backup
logs it keeps.  I would also like to change the logging level of root or
sql.

Is it possible to to this?  If so, how do I go about doing this?

Thanks in advance
-- 
View this message in context: 
http://www.nabble.com/Can-I-change-log4j-configuration-programatically--tf2420301.html#a6747745
Sent from the Log4j - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Log4j Configuration without use of configandwatch

2006-07-04 Thread sudhakardvvn

Thanks
But the above method is not threadsafe. How to achieve the above without
using configandwatch() method of propertyConfiguratior
-- 
View this message in context: 
http://www.nabble.com/Log4j-Configuration-without-use-of-configandwatch-tf1888905.html#a5165504
Sent from the Log4j - Users forum at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Log4j Configuration without use of configandwatch

2006-07-04 Thread jaikiran pai
>but I don't see how you could put this method in each class that instantiates 
>a logger
   
  You dont have to put the statement in each and every class that uses a 
logger. Use can just invoke it once(in may be some central class of your 
application), thats it.


sudhakardvvn <[EMAIL PROTECTED]> wrote:
  
I am trying to figure out if there is a way to reload the properties file
anytime it changes without restarting the system. One of our requirements
is that the properties file can be changed and the logging will
automatically change without restarting the system. I know you can use the
PropertyConfigurator's configureAndWatch method, but I don't see how you
could put this method in each class that instantiates a logger. It seems
like way too much overhead. If anyone knows of a way to do this, I would
appreciate it
-- 
View this message in context: 
http://www.nabble.com/Log4j-Configuration-without-use-of-configandwatch-tf1888905.html#a5164447
Sent from the Log4j - Users forum at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
 Yahoo! India Answers: Share what you know. Learn something new Click here
Catch all the FIFA World Cup 2006 action on Yahoo! India Click here

Log4j Configuration without use of configandwatch

2006-07-04 Thread sudhakardvvn

I am trying to figure out if there is a way to reload the properties file
anytime it changes without restarting the system.  One of our requirements
is that the properties file can be changed and the logging will
automatically change without restarting the system.  I know you can use the
PropertyConfigurator's configureAndWatch method, but I don't see how you
could put this method in each class that instantiates a logger.  It seems
like way too much overhead.  If anyone knows of a way to do this, I would
appreciate it
-- 
View this message in context: 
http://www.nabble.com/Log4j-Configuration-without-use-of-configandwatch-tf1888905.html#a5164447
Sent from the Log4j - Users forum at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: log4j and tomcat, context taking over log4j configuration for the whole enchilada?

2006-01-10 Thread Javier Gonzalez
Ok, now I'm restarting and now the "takeover" is complete - even after
a restart a single webapp's config is applied to every other webapp.

Regarding a parent classloader, I'll have to look into it, although
I'm positive that each context has its own log4j.jar (even different
versions among some) and either a log4j.xml file or a log4j.properties
file. I'm double-dog sure about that ;)

The tomcat is running standalone, version 5.5.12 running on BEA's
JRockit jvm, version  1.5.0_04-b05

Is there a way to "debug" or "trace" the classloader?

thanks for your response,

Javier

On 1/10/06, Jacob Kjome <[EMAIL PROTECTED]> wrote:
>
> I'm not sure why it wouldn't be happening on initial startup, but is it 
> possible
> that the webapp is finding a log4j.xml file in a parent classloader, which 
> would
> be used in preference (by Log4j's auto-configuration mechanism) to
> log4j.properties in each webapp?  If that's not the case, you aren't, by
> chance, running Tomcat-5.5 under JBoss or something like that, are you?
> Because at that point, the classloader behavior changes to not be child-first
> by default, which would explain the behavior you are seeing.  Are you
> double-dog sure that log4j.jar is in *each* webapp's WEB-INF/lib?
>
> Jake
>
> Quoting Javier Gonzalez <[EMAIL PROTECTED]>:
>
> > Hi,
> >
> > I've got a tomcat 5.5 server running a bunch of webapps, each one with
> > its own copy of log4j.jar and log4j.properties. Each one does terse
> > logs to the tomcat console and a detailed log to a separate log file
> > for each webapp.
> >
> > The problem is that, when I reload a context, that context's log4j
> > configuration seems to take over the log4j configurations of every
> > webapp, and all the applications start logging with that
> > configuration, which is no good at all, since the terse logs now all
> > come formatted with the reloaded context's pattern, and the verbose
> > logs are lost since the only verbose log file logged to is the
> > reloaded context's, while the other log files sit untouched, and every
> > additivity configuration of the other webapps is lost.
> >
> > Can anybody shed some light on this?
> >
> > Thanks in advance,
> >
> > --
> > Javier Gonzalez Nicolini
> >
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
>
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Javier Gonzalez Nicolini

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: log4j and tomcat, context taking over log4j configuration for the whole enchilada?

2006-01-10 Thread Jacob Kjome

I'm not sure why it wouldn't be happening on initial startup, but is it possible
that the webapp is finding a log4j.xml file in a parent classloader, which would
be used in preference (by Log4j's auto-configuration mechanism) to
log4j.properties in each webapp?  If that's not the case, you aren't, by
chance, running Tomcat-5.5 under JBoss or something like that, are you? 
Because at that point, the classloader behavior changes to not be child-first
by default, which would explain the behavior you are seeing.  Are you
double-dog sure that log4j.jar is in *each* webapp's WEB-INF/lib?

Jake

Quoting Javier Gonzalez <[EMAIL PROTECTED]>:

> Hi,
>
> I've got a tomcat 5.5 server running a bunch of webapps, each one with
> its own copy of log4j.jar and log4j.properties. Each one does terse
> logs to the tomcat console and a detailed log to a separate log file
> for each webapp.
>
> The problem is that, when I reload a context, that context's log4j
> configuration seems to take over the log4j configurations of every
> webapp, and all the applications start logging with that
> configuration, which is no good at all, since the terse logs now all
> come formatted with the reloaded context's pattern, and the verbose
> logs are lost since the only verbose log file logged to is the
> reloaded context's, while the other log files sit untouched, and every
> additivity configuration of the other webapps is lost.
>
> Can anybody shed some light on this?
>
> Thanks in advance,
>
> --
> Javier Gonzalez Nicolini
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



log4j and tomcat, context taking over log4j configuration for the whole enchilada?

2006-01-10 Thread Javier Gonzalez
Hi,

I've got a tomcat 5.5 server running a bunch of webapps, each one with
its own copy of log4j.jar and log4j.properties. Each one does terse
logs to the tomcat console and a detailed log to a separate log file
for each webapp.

The problem is that, when I reload a context, that context's log4j
configuration seems to take over the log4j configurations of every
webapp, and all the applications start logging with that
configuration, which is no good at all, since the terse logs now all
come formatted with the reloaded context's pattern, and the verbose
logs are lost since the only verbose log file logged to is the
reloaded context's, while the other log files sit untouched, and every
additivity configuration of the other webapps is lost.

Can anybody shed some light on this?

Thanks in advance,

--
Javier Gonzalez Nicolini

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: changing log4J configuration during run time

2005-10-12 Thread Jacob Kjome
Quoting Deep Chand <[EMAIL PROTECTED]>:

> Hi,
>
> In log4J, if I change the configuration i.e. increase/decrease the
> level of a particular logger or add more appenders/categories in the
> config file, then do I have to restart the web server for that setting
> to take effect.
>

Avoid configureAndWatch() in a J2EE environment.  Instead use something like
LogWeb...

http://www.codeczar.com/products/logweb/index.html


Jake

> What I understand from the documentation is that if I use
> DOMConfigurator.configureAndWatch(, )
> then I don't have to restart the server. Is this the only way to
> change the logging configuration during run time or there are some
> other ways also? If you use this method, then a thread is launched
> which continously monitors the config file changes. Is this technique
> has some serious performance overhead and therefore not preffered in
> production enviornment?
>
> What do people generally prefer - use this method OR simply use
> DOMConfigurator.configure(fileName) and restart the server after
> changing the config file?
>
> Thanks
> Deep
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



changing log4J configuration during run time

2005-10-12 Thread Deep Chand
Hi,

In log4J, if I change the configuration i.e. increase/decrease the
level of a particular logger or add more appenders/categories in the
config file, then do I have to restart the web server for that setting
to take effect.

What I understand from the documentation is that if I use
DOMConfigurator.configureAndWatch(, )
then I don't have to restart the server. Is this the only way to
change the logging configuration during run time or there are some
other ways also? If you use this method, then a thread is launched
which continously monitors the config file changes. Is this technique
has some serious performance overhead and therefore not preffered in
production enviornment?

What do people generally prefer - use this method OR simply use
DOMConfigurator.configure(fileName) and restart the server after
changing the config file?

Thanks
Deep

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Log4j Configuration

2005-08-18 Thread Rick_Herrick
"William Mok" <[EMAIL PROTECTED]> wrote on 08/17/2005 05:47:29 PM:
> Your explanation is a lot better than those I found on web. Thx.
> I still have some questions, see below:

Cool, glad it helped.  I've run into all these problems before, so that why
I've got a good knowledge of all the ways you can screw it up :^)

> - Original Message -
> From: <[EMAIL PROTECTED]>
> > "William Mok" <[EMAIL PROTECTED]> wrote on 08/16/2005 03:59:25 PM:
> >> Thanks. Your explanation make everything much clearer.
> > Look at the call to Logger.getLogger(EchoService.class): what it does
is
> > retrieves the fully qualified name of that class, e.g.
> > com.mycompany.mypackage.echo.EchoService.  It then looks for a logger
> > defined for com.mycompany.mypackage.echo.EchoService.  If it doesn't
find
> > that, it'll look for the next step up the hierarchy, i.e.
> > com.mycompany.mypackage.echo, then com.mycompany.mypackage, and so on.
> > Once you've defined this logger for com.mycompany.mypackage.echo,
that's
> > what it'll find.  It will then write whatever messages you send to that
> > logger to the defined appenders, as long as those messages have the
> > effective level of the logger or above.
>
> I am a bit confused about the rootlogger and childlogger concepts, what's

> the reason behind having different logging hierarchy? What does the
> rootLogger actually do? , i.e. when do I use the rootLogger?

The root logger is just kind of a default handler so that if you don't have
any specific logging stuff set up for a particular area of your code
there's a place for the messages to go.  That's why the root logger is
usually set to ERROR or FATAL.  Wherever a critical error occurs in your
code, you generally want to know about it.

Child loggers for particular parts of your code hierarchy then let you set
the logging levels and output for particular parts of the functionality
you're developing.  You can set the root logger to ERROR, so that anything
critical that occurs anywhere in your application is logged.  You can then
set the logging levels for each area that you're developing to different
levels so you can see what's going on in there.  So let's say, in addition
to all of the framework code, you've got two packages in your application,
one for business objects and one for the interface.  When you're working on
the business objects, you can set the logging level to DEBUG and get
verbose information about that package, but set the interface logging level
to WARN.  This means that you'll see a ton of information in the logs about
your business objects and only interesting stuff about your interface code.
Now you've developed the business objects, change the settings to WARN for
your business objects and DEBUG for your interface and get a ton of
information about your interface code.  This change in the amount and type
of information you get from each section is done without changing your code
at all, since the filtering is done by just not sending messages to the log
when they're sent with Logger.debug() when that's below the logging level
you've set.

The cool thing is that, if you're suddenly getting weird results from a
section of your code, just ratchet down the logging level and you get a
bunch more information out of that section.  For example, when I've got a
bunch of queries that are getting run, I always output the query itself as
info and usually output the results (as long as there aren't TOO too many
results expected) with debug.  That way, if something odd happens, I can
see the query and its results without having to step through the debugger
slowly, etc.

> > That's probably because the stdout is being diverted somewhere.  If
you're
> > running your servlet container (e.g. Tomcat) from a shell script, then
> > that
> > message will be displayed on the actual console.  If you're running
from a
> > service on Windows or some other script on *nix, then stdout is usually
> > diverted to something like localhost_log..txt or something like
> > that.
> > Another option is to replace the System.out.println() call by opening a
> > file in a known location and writing out to that.  It's completely
> > impossible that you're not getting a class loader, otherwise... well,
none
> > of your classes would load :^)
>
> That's correct, if I run it using Eclipse, I can see the "search and
> destroy" on the Eclipse console but not appearing in any of the logs.

Yeah, then that's just a matter of figuring out what your servlet container
thinks is stdout.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Log4j Configuration

2005-08-17 Thread William Mok

Your explanation is a lot better than those I found on web. Thx.
I still have some questions, see below:

- Original Message - 
From: <[EMAIL PROTECTED]>

To: "Log4J Users List" 
Sent: Wednesday, August 17, 2005 8:43 AM
Subject: Re: Log4j Configuration




"William Mok" <[EMAIL PROTECTED]> wrote on 08/16/2005 03:59:25 PM:

Thanks. Your explanation make everything much clearer.

I modified the log4j.properties file and run the servlet again, I can

only

see empty file axis.log being created but there is no logging inside.


The issue with that is most likely one of two things:

* The logging level is set so that debug or info messages are not being
sent, so you won't see any messages unless something bad happens (warn,
error, fatal).  Try knocking down the logging level to debug and see if 
you

get anything.

* From your previous code, it looks like you had the axis.log appender
attached to classes in the org.apache.axis.enterprise package and below.
That's Axis code, not your own.  So when you do the Logger.getLogger() 
call

on your own class (EchoService?), it's actually retrieving a logger for
com.mycompany.mypackage.echo.EchoService, or whatever the package is that
contains that class.  If there are no loggers defined for any level of 
that

hierarchy (i.e. com, com.mycompany, com.mycompany.mypackage, etc.), then
you'll get the root category logger.  Try redefining that logger to
something like:

# Set the my logger to DEBUG and add the my appender.
log4j.logger.com.mycompany.mypackage.echo=DEBUG, CONSOLE, ECHO

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
...

# ECHO is set to be a File appender using a PatternLayout.
log4j.appender.ECHO=org.apache.log4j.FileAppender
...

Look at the call to Logger.getLogger(EchoService.class): what it does is
retrieves the fully qualified name of that class, e.g.
com.mycompany.mypackage.echo.EchoService.  It then looks for a logger
defined for com.mycompany.mypackage.echo.EchoService.  If it doesn't find
that, it'll look for the next step up the hierarchy, i.e.
com.mycompany.mypackage.echo, then com.mycompany.mypackage, and so on.
Once you've defined this logger for com.mycompany.mypackage.echo, that's
what it'll find.  It will then write whatever messages you send to that
logger to the defined appenders, as long as those messages have the
effective level of the logger or above.


I am a bit confused about the rootlogger and childlogger concepts, what's 
the reason behind having different logging hierarchy? What does the 
rootLogger actually do? , i.e. when do I use the rootLogger?





Also the check for ClassLoader seems to fail, i.e. cl = NULL as I cannot
find the "Search and destroy" in any logs.


That's probably because the stdout is being diverted somewhere.  If you're
running your servlet container (e.g. Tomcat) from a shell script, then 
that

message will be displayed on the actual console.  If you're running from a
service on Windows or some other script on *nix, then stdout is usually
diverted to something like localhost_log..txt or something like 
that.

Another option is to replace the System.out.println() call by opening a
file in a known location and writing out to that.  It's completely
impossible that you're not getting a class loader, otherwise... well, none
of your classes would load :^)


That's correct, if I run it using Eclipse, I can see the "search and 
destroy" on the Eclipse console but not appearing in any of the logs.





However, I believe the log4j.properties has been picked up otherwise the
axis.log file will not be created.


Definitely.  That right there proves that your instance of 
log4j.properties

is being loaded.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Log4j Configuration

2005-08-17 Thread Rick_Herrick

"William Mok" <[EMAIL PROTECTED]> wrote on 08/16/2005 03:59:25 PM:
> Thanks. Your explanation make everything much clearer.
>
> I modified the log4j.properties file and run the servlet again, I can
only
> see empty file axis.log being created but there is no logging inside.

The issue with that is most likely one of two things:

* The logging level is set so that debug or info messages are not being
sent, so you won't see any messages unless something bad happens (warn,
error, fatal).  Try knocking down the logging level to debug and see if you
get anything.

* From your previous code, it looks like you had the axis.log appender
attached to classes in the org.apache.axis.enterprise package and below.
That's Axis code, not your own.  So when you do the Logger.getLogger() call
on your own class (EchoService?), it's actually retrieving a logger for
com.mycompany.mypackage.echo.EchoService, or whatever the package is that
contains that class.  If there are no loggers defined for any level of that
hierarchy (i.e. com, com.mycompany, com.mycompany.mypackage, etc.), then
you'll get the root category logger.  Try redefining that logger to
something like:

# Set the my logger to DEBUG and add the my appender.
log4j.logger.com.mycompany.mypackage.echo=DEBUG, CONSOLE, ECHO

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
...

# ECHO is set to be a File appender using a PatternLayout.
log4j.appender.ECHO=org.apache.log4j.FileAppender
...

Look at the call to Logger.getLogger(EchoService.class): what it does is
retrieves the fully qualified name of that class, e.g.
com.mycompany.mypackage.echo.EchoService.  It then looks for a logger
defined for com.mycompany.mypackage.echo.EchoService.  If it doesn't find
that, it'll look for the next step up the hierarchy, i.e.
com.mycompany.mypackage.echo, then com.mycompany.mypackage, and so on.
Once you've defined this logger for com.mycompany.mypackage.echo, that's
what it'll find.  It will then write whatever messages you send to that
logger to the defined appenders, as long as those messages have the
effective level of the logger or above.

> Also the check for ClassLoader seems to fail, i.e. cl = NULL as I cannot
> find the "Search and destroy" in any logs.

That's probably because the stdout is being diverted somewhere.  If you're
running your servlet container (e.g. Tomcat) from a shell script, then that
message will be displayed on the actual console.  If you're running from a
service on Windows or some other script on *nix, then stdout is usually
diverted to something like localhost_log..txt or something like that.
Another option is to replace the System.out.println() call by opening a
file in a known location and writing out to that.  It's completely
impossible that you're not getting a class loader, otherwise... well, none
of your classes would load :^)

> However, I believe the log4j.properties has been picked up otherwise the
> axis.log file will not be created.

Definitely.  That right there proves that your instance of log4j.properties
is being loaded.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Log4j Configuration

2005-08-16 Thread William Mok

Thanks. Your explanation make everything much clearer.

I modified the log4j.properties file and run the servlet again, I can only 
see empty file axis.log being created but there is no logging inside.


Also the check for ClassLoader seems to fail, i.e. cl = NULL as I cannot 
find the "Search and destroy" in any logs.
However, I believe the log4j.properties has been picked up otherwise the 
axis.log file will not be created.


ClassLoader cl = Thread.currentThread().getContextClassLoader();
 while(cl != null)
 {
java.net.URL loc = cl.getResource("/log4j.properties");
System.out.println("Search and destroy --> " + loc);
cl = cl.getParent();
 }


- Original Message - 
From: <[EMAIL PROTECTED]>

To: "Log4J Users List" 
Sent: Tuesday, August 16, 2005 12:52 PM
Subject: Re: Log4j Configuration



If you create an appender programmatically and independently of the
properties file, then it will simply work as an additional appender for
that logger and be completely unaffected by the settings in the properties
file.  Note that you can do this same thing with the properties file and 
in

fact, having just looked at your properties file, I know why, even if
everything else is set properly, you're not getting any output to your
axis.log file.  Because you never send anything there.  Note that I 
removed

all of the appender definitions other than the name and class assignment:

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to
CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
...

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
...

Basically, you have to understand that loggers and appenders are 
completely
independent.  Thus, you create an appender called CONSOLE which logs to 
the

console (stdout) and an appender called LOGFILE that logs to axis.log.
Great.  Create a file and never write anything to it, and see how fast it
fills up.  Now you create a logger, a rootCategory logger, one for a
specific package (e.g. your logger for org.apache.axis.enterprise), or
whatever.  You can set two main attributes for that logger (there are
others, but don't worry about them for now): the default level for that
logger (INFO for root and FATAL for org.apache.axis.enterprise) and the
appender or APPENDERS to which the logger will write its messages.  In 
this

file, you're sending everything to the CONSOLE and nothing to the LOGFILE.
What you probably want to do is something like this:

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE

# Set the enterprise logger category to DEBUG and its appenders to CONSOLE
and LOGFILE
log4j.logger.org.apache.axis.enterprise=DEBUG, CONSOLE, LOGFILE

# Then add the appender defines here

I'm assuming that, because that LOGFILE appender is called axis.log that
you want it set for your Axis stuff, so I added it to that.  I also set 
the

debug level down to DEBUG instead of FATAL, but really you can set it to
whatever you want.

So now, based on your properties definition, any message of DEBUG level or
higher (i.e. pretty much all messages) sent to the
org.apache.axis.enterprise logger (which will be messages from any class 
in
that package or below) will go to the CONSOLE and to the LOGFILE logs. 
Any

message of INFO or higher from any other packages will go only to the
CONSOLE.

Then, when you create a programmatic appender and assign it to a logger,
messages sent to that logger will go to your new appender IN ADDITION to
any other appenders already configured for that logger.

Got it? :^)




"William Mok"
<[EMAIL PROTECTED]
m> To
  "Log4J Users List"
08/16/2005 12:27  
PM cc

      Subject
Please respond to Re: Log4j Configuration
  "Log4J Users
  List"
<[EMAIL PROTECTED]
 ng.apache.org>






Thanks. Rick.

I am going to try all the stuff u advise. However, the thing I don't
understand is how the log4j. properties file
work with the FileAppender API call in the code. What I mean is the
log4j.properties specify a file appender, and then in the code I specify
another file appender, so is there a conflict?

William

- Original Message -
From: <[EMAIL PROTECTED]>
To: "Log4J Us

Re: Log4j Configuration

2005-08-16 Thread Rick_Herrick
If you create an appender programmatically and independently of the
properties file, then it will simply work as an additional appender for
that logger and be completely unaffected by the settings in the properties
file.  Note that you can do this same thing with the properties file and in
fact, having just looked at your properties file, I know why, even if
everything else is set properly, you're not getting any output to your
axis.log file.  Because you never send anything there.  Note that I removed
all of the appender definitions other than the name and class assignment:

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to
CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
...

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
...

Basically, you have to understand that loggers and appenders are completely
independent.  Thus, you create an appender called CONSOLE which logs to the
console (stdout) and an appender called LOGFILE that logs to axis.log.
Great.  Create a file and never write anything to it, and see how fast it
fills up.  Now you create a logger, a rootCategory logger, one for a
specific package (e.g. your logger for org.apache.axis.enterprise), or
whatever.  You can set two main attributes for that logger (there are
others, but don't worry about them for now): the default level for that
logger (INFO for root and FATAL for org.apache.axis.enterprise) and the
appender or APPENDERS to which the logger will write its messages.  In this
file, you're sending everything to the CONSOLE and nothing to the LOGFILE.
What you probably want to do is something like this:

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE

# Set the enterprise logger category to DEBUG and its appenders to CONSOLE
and LOGFILE
log4j.logger.org.apache.axis.enterprise=DEBUG, CONSOLE, LOGFILE

# Then add the appender defines here

I'm assuming that, because that LOGFILE appender is called axis.log that
you want it set for your Axis stuff, so I added it to that.  I also set the
debug level down to DEBUG instead of FATAL, but really you can set it to
whatever you want.

So now, based on your properties definition, any message of DEBUG level or
higher (i.e. pretty much all messages) sent to the
org.apache.axis.enterprise logger (which will be messages from any class in
that package or below) will go to the CONSOLE and to the LOGFILE logs.  Any
message of INFO or higher from any other packages will go only to the
CONSOLE.

Then, when you create a programmatic appender and assign it to a logger,
messages sent to that logger will go to your new appender IN ADDITION to
any other appenders already configured for that logger.

Got it? :^)



   
 "William Mok" 
 <[EMAIL PROTECTED] 
 m> To 
   "Log4J Users List"  
 08/16/2005 12:27   
 PM cc 
   
   Subject 
     Please respond to Re: Log4j Configuration 
   "Log4J Users
   List"   
 <[EMAIL PROTECTED] 
  ng.apache.org>   
   
   




Thanks. Rick.

I am going to try all the stuff u advise. However, the thing I don't
understand is how the log4j. properties file
work with the FileAppender API call in the code. What I mean is the
log4j.properties specify a file appender, and then in the code I specify
another file appender, so is there a conflict?

William

- Original Message -
From: <[EMAIL PROTECTED]>
To: "Log4J Users List" 
Sent: Tuesday, August 16, 2005 12:16 PM
Subject: Re: Log4j Configuration


> William,
>
> Two things you can try:
>
> First, add an explicit path to the log file name.  So set it to
> /var/log/axis/axis.log or /home/you

Re: Log4j Configuration

2005-08-16 Thread William Mok
I have put log4j.properties under the directory where I have the class 
files, i.e. EchoService.class


I have also included the code to test whether the properties file is being 
loaded, but I think the result is negative b'cos I cannot find the logging 
in catalina.out file. i.e. the classloader is null.


Thanks anyway.

William

- Original Message - 
From: <[EMAIL PROTECTED]>

To: "Log4J Users List" 
Sent: Tuesday, August 16, 2005 12:19 PM
Subject: Re: Log4j Configuration



Don't put the properties file itself in the classpath, that won't help
anything.  Put the directory or jar file in which the properties file is
stored in the classpath.  There should be no folder package structure
either, i.e. if it's /sandbox/classes, then log4j.properties should be in
that directory, with other classes in, e.g.
/sandbox/classes/org/myorg/myproj.

Also, try out that code snippet I sent in my last post to see which
properties file is actually getting loaded.  And remove that
BasicConfigurator call.

And do this all one step at a time so you know which precise change fixed
your problem!




"William Mok"
<[EMAIL PROTECTED]
m> To
  "Log4J Users List"
08/16/2005 12:12  
PM cc

      Subject
Please respond to Re: Log4j Configuration
  "Log4J Users
  List"
<[EMAIL PROTECTED]
 ng.apache.org>






Thanks, I changed the line to 
log4j.appender.LOGFILE.File=/sandbox/axis.log

reatart tomcat, but the axis.log still does not exist.

Another problem is that even I have specified the properties file in
CLASSPATH, I got this warning when I try to deploy my servlet. Somehow it
just cannot find the properties file ??

log4j:WARN No appenders could be found for logger
(org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.


- Original Message -
From: "Harp, George" <[EMAIL PROTECTED]>
To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 12:01 PM
Subject: RE: Log4j Configuration



You seem to be running it to the console -- Sys.out
and axis.log ... if it doesn't hurt your application hard code a

directory

prefix and then you'll know where it ends up
ie
log4j.appender.LOGFILE.File=axis.log

to
log4j.appender.LOGFILE.File=c:\axis.log

in log4j.xml
I can use java properties so maybe try
log4j.appender.LOGFILE.File=$(user.dir}/axis.log

if this is not clear reply and ill find the link for you

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 1:58 PM
To: Log4J Users List
Subject: Re: Log4j Configuration


Thanks,
I have included the log4j.properties file in the CLASSPATH and restart
tomcat, but I could not find any log file generated under the entire
tomcat
directory, after running the servlet.

- Original Message -----
From: "Harp, George" <[EMAIL PROTECTED]>
To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 10:51 AM
Subject: RE: Log4j Configuration



I don't have to put any configuration code in my appliaction I just make
sure that log4j.properties or log4j.xml is in the clas path.

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 12:35 PM
To: log4j-user@logging.apache.org
Subject: Log4j Configuration


Hi,

I have the following log4j.properties file:








---
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to
CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x -
%m%n





Re: Log4j Configuration

2005-08-16 Thread William Mok

Thanks. Rick.

I am going to try all the stuff u advise. However, the thing I don't 
understand is how the log4j. properties file
work with the FileAppender API call in the code. What I mean is the 
log4j.properties specify a file appender, and then in the code I specify 
another file appender, so is there a conflict?


William

- Original Message - 
From: <[EMAIL PROTECTED]>

To: "Log4J Users List" 
Sent: Tuesday, August 16, 2005 12:16 PM
Subject: Re: Log4j Configuration



William,

Two things you can try:

First, add an explicit path to the log file name.  So set it to
/var/log/axis/axis.log or /home/you/logs/axis.log or c:/tmp/logs/axis.log
or whatever is appropriate depending on platform, perms, etc.  You can 
also

do something like ${catalina.home}/logs/axis.log or something like that
too.  What's valid is very dependent on your environment, so play around
with that.  The default directory for log output is the current directory,
which in the case of a servlet container will usually be the container's
home directory.  So, for example, for Tomcat this means your
/usr/local/tomcat or c:\Tomcat or wherever you've got it installed.  I'm
not sure where these might go for other containers.

Second, check which log4j.properties file you're loading.  I have a little
code snippet here:
http://slapfest.blogspot.com/2005/07/what-version-of-class-or-resource-am-i.html

that you can use to find your log4j.properties.  There may be a problem
with that: in the cl.getResource() call, you may need to use
"log4j.properties" rather than "/log4j.properties", but I can't remember.
That'll tell you if your definition is even getting loaded or if your
servlet container is actually getting another log4j config from somewhere
else.

As far as your progammatically created appender, I can tell you why you
won't see any output from there: you're not adding the appender to your
logger.  Try something like this:

Logger logger = Logger.getLogger(EchoService.class);
BasicConfigurator.configure();

SimpleLayout layout = new SimpleLayout();

FileAppender appender = new FileAppender(layout,"connectionlog.txt",true);

if (appender != null)
{
   logger.addAppender(appender);
}

BTW, as far as the BasicConfigurator stuff?  My guess is that that call is
completely unnecessary and could even screw up your configuration (which 
is

another possible reason why you might not be seeing any output into your
log files, if it's somehow nuking the default configuration, which 
actually

uses PropertyConfigurator).




"William Mok"
<[EMAIL PROTECTED]
m> To
  "Log4J Users List"
08/16/2005 11:57  
AM     cc

  Subject
Please respond to Re: Log4j Configuration
  "Log4J Users
  List"
<[EMAIL PROTECTED]
 ng.apache.org>






Thanks,
I have included the log4j.properties file in the CLASSPATH and restart
tomcat, but I could not find any log file generated under the entire 
tomcat


directory, after running the servlet.

- Original Message -----
From: "Harp, George" <[EMAIL PROTECTED]>
To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 10:51 AM
Subject: RE: Log4j Configuration



I don't have to put any configuration code in my appliaction I just make
sure that log4j.properties or log4j.xml is in the clas path.

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 12:35 PM
To: log4j-user@logging.apache.org
Subject: Log4j Configuration


Hi,

I have the following log4j.properties file:






---
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to
CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.Con

Re: Log4j Configuration

2005-08-16 Thread Rick_Herrick
Also add calls to other debug levels.  I've had some real issues with the
debug levels, what they get set to, and what I've thought they should get
set to.  So I'd go ahead and add:

Logger logger = Logger.getLogger(EchoService.class);

// Really, you shouldn't do this and instead set it with your props
logger.setLevel((Level) Level.DEBUG);
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");



   
 "William Mok" 
 <[EMAIL PROTECTED] 
 m> To 
   "Log4J Users List"  
 08/16/2005 12:18   
 PM cc 
   
       Subject 
 Please respond to Re: Log4j Configuration 
   "Log4J Users
   List"   
 <[EMAIL PROTECTED] 
  ng.apache.org>   
   
   




I have the following:

Logger logger = Logger.getLogger(EchoService.class);

 logger.setLevel((Level) Level.DEBUG);
 logger.debug("Here is some DEBUG");


- Original Message -
From: "Harp, George" <[EMAIL PROTECTED]>
To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 12:15 PM
Subject: RE: Log4j Configuration


> public class WhatEver
> {
>   private static Logger logger_m =
>  Logger.getLogger( WhatEver.class );
>
>   public Whatever( )
>   {
>  logger_m.error("HELP");
>   }
> }
>
> DO you have this in your code?
>
> -Original Message-
> From: William Mok [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, August 16, 2005 2:13 PM
> To: Log4J Users List
> Subject: Re: Log4j Configuration
>
>
> Thanks, I changed the line to
> log4j.appender.LOGFILE.File=/sandbox/axis.log
> reatart tomcat, but the axis.log still does not exist.
>
> Another problem is that even I have specified the properties file in
> CLASSPATH, I got this warning when I try to deploy my servlet. Somehow it
> just cannot find the properties file ??
>
> log4j:WARN No appenders could be found for logger
> (org.apache.axis.i18n.ProjectResourceBundle).
> log4j:WARN Please initialize the log4j system properly.
>
>
> - Original Message -
> From: "Harp, George" <[EMAIL PROTECTED]>
> To: "'Log4J Users List'" 
> Sent: Tuesday, August 16, 2005 12:01 PM
> Subject: RE: Log4j Configuration
>
>
>> You seem to be running it to the console -- Sys.out
>> and axis.log ... if it doesn't hurt your application hard code a
>> directory
>> prefix and then you'll know where it ends up
>> ie
>> log4j.appender.LOGFILE.File=axis.log
>>
>> to
>> log4j.appender.LOGFILE.File=c:\axis.log
>>
>> in log4j.xml
>> I can use java properties so maybe try
>> log4j.appender.LOGFILE.File=$(user.dir}/axis.log
>>
>> if this is not clear reply and ill find the link for you
>>
>> -Original Message-
>> From: William Mok [mailto:[EMAIL PROTECTED]
>> Sent: Tuesday, August 16, 2005 1:58 PM
>> To: Log4J Users List
>> Subject: Re: Log4j Configuration
>>
>>
>> Thanks,
>> I have included the log4j.properties file in the CLASSPATH and restart
>> tomcat, but I could not find any log file generated under the entire
>> tomcat
>> directory, after running the servlet.
>>
>> - Original Message -
>> From: "Harp, George" <[EMAIL PROTECTED]>
>> To: "'Log4J Users List'" 
>> Sent: Tuesday, August 16, 2005 10:51 AM
>> Subject: RE: Log4j Configuration
>>
>>
>>>I don't have to put any configuration code in my appliaction I just make
>>> sure that log4j.properties or log4j.xml is in the clas path.
>>>
>>> -Original Message-
>>> From: William Mok [mai

Re: Log4j Configuration

2005-08-16 Thread Rick_Herrick
Don't put the properties file itself in the classpath, that won't help
anything.  Put the directory or jar file in which the properties file is
stored in the classpath.  There should be no folder package structure
either, i.e. if it's /sandbox/classes, then log4j.properties should be in
that directory, with other classes in, e.g.
/sandbox/classes/org/myorg/myproj.

Also, try out that code snippet I sent in my last post to see which
properties file is actually getting loaded.  And remove that
BasicConfigurator call.

And do this all one step at a time so you know which precise change fixed
your problem!



   
 "William Mok" 
 <[EMAIL PROTECTED] 
 m> To 
   "Log4J Users List"  
 08/16/2005 12:12   
 PM cc 
   
   Subject 
     Please respond to Re: Log4j Configuration 
   "Log4J Users
   List"   
 <[EMAIL PROTECTED] 
  ng.apache.org>   
   
   




Thanks, I changed the line to log4j.appender.LOGFILE.File=/sandbox/axis.log
reatart tomcat, but the axis.log still does not exist.

Another problem is that even I have specified the properties file in
CLASSPATH, I got this warning when I try to deploy my servlet. Somehow it
just cannot find the properties file ??

log4j:WARN No appenders could be found for logger
(org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.


- Original Message -
From: "Harp, George" <[EMAIL PROTECTED]>
To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 12:01 PM
Subject: RE: Log4j Configuration


> You seem to be running it to the console -- Sys.out
> and axis.log ... if it doesn't hurt your application hard code a
directory
> prefix and then you'll know where it ends up
> ie
> log4j.appender.LOGFILE.File=axis.log
>
> to
> log4j.appender.LOGFILE.File=c:\axis.log
>
> in log4j.xml
> I can use java properties so maybe try
> log4j.appender.LOGFILE.File=$(user.dir}/axis.log
>
> if this is not clear reply and ill find the link for you
>
> -Original Message-
> From: William Mok [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, August 16, 2005 1:58 PM
> To: Log4J Users List
> Subject: Re: Log4j Configuration
>
>
> Thanks,
> I have included the log4j.properties file in the CLASSPATH and restart
> tomcat, but I could not find any log file generated under the entire
> tomcat
> directory, after running the servlet.
>
> - Original Message -
> From: "Harp, George" <[EMAIL PROTECTED]>
> To: "'Log4J Users List'" 
> Sent: Tuesday, August 16, 2005 10:51 AM
> Subject: RE: Log4j Configuration
>
>
>>I don't have to put any configuration code in my appliaction I just make
>> sure that log4j.properties or log4j.xml is in the clas path.
>>
>> -Original Message-
>> From: William Mok [mailto:[EMAIL PROTECTED]
>> Sent: Tuesday, August 16, 2005 12:35 PM
>> To: log4j-user@logging.apache.org
>> Subject: Log4j Configuration
>>
>>
>> Hi,
>>
>> I have the following log4j.properties file:
>>
>>
>


>> ---
>> # Set root category priority to INFO and its only appender to CONSOLE.
>> log4j.rootCategory=INFO, CONSOLE
>> #log4j.rootCategory=INFO, CONSOLE, LOGFILE
>>
>> # Set the enterprise logger category to FATAL and its only appender to
>> CONSOLE.
>> log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
>>
>> # CONSOLE is set to be a ConsoleAppender using a PatternLayout.
>> log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
>> log4j.appender.CONSOLE.Threshold=INFO
>> log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
>> log4j.appender.CO

Re: Log4j Configuration

2005-08-16 Thread William Mok

I have the following:

Logger logger = Logger.getLogger(EchoService.class);

logger.setLevel((Level) Level.DEBUG);
logger.debug("Here is some DEBUG");


- Original Message - 
From: "Harp, George" <[EMAIL PROTECTED]>

To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 12:15 PM
Subject: RE: Log4j Configuration



public class WhatEver
{
  private static Logger logger_m =
 Logger.getLogger( WhatEver.class );

  public Whatever( )
  {
 logger_m.error("HELP");
  }
}

DO you have this in your code?

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 2:13 PM
To: Log4J Users List
Subject: Re: Log4j Configuration


Thanks, I changed the line to 
log4j.appender.LOGFILE.File=/sandbox/axis.log

reatart tomcat, but the axis.log still does not exist.

Another problem is that even I have specified the properties file in
CLASSPATH, I got this warning when I try to deploy my servlet. Somehow it
just cannot find the properties file ??

log4j:WARN No appenders could be found for logger
(org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.


- Original Message - 
From: "Harp, George" <[EMAIL PROTECTED]>

To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 12:01 PM
Subject: RE: Log4j Configuration



You seem to be running it to the console -- Sys.out
and axis.log ... if it doesn't hurt your application hard code a 
directory

prefix and then you'll know where it ends up
ie
log4j.appender.LOGFILE.File=axis.log

to
log4j.appender.LOGFILE.File=c:\axis.log

in log4j.xml
I can use java properties so maybe try
log4j.appender.LOGFILE.File=$(user.dir}/axis.log

if this is not clear reply and ill find the link for you

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 1:58 PM
To: Log4J Users List
Subject: Re: Log4j Configuration


Thanks,
I have included the log4j.properties file in the CLASSPATH and restart
tomcat, but I could not find any log file generated under the entire
tomcat
directory, after running the servlet.

- Original Message - 
From: "Harp, George" <[EMAIL PROTECTED]>

To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 10:51 AM
Subject: RE: Log4j Configuration



I don't have to put any configuration code in my appliaction I just make
sure that log4j.properties or log4j.xml is in the clas path.

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 12:35 PM
To: log4j-user@logging.apache.org
Subject: Log4j Configuration


Hi,

I have the following log4j.properties file:







---
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to
CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x -
%m%n








At the same time, I also have the following lines in my java servlet








  Logger logger = Logger.getLogger(EchoService.class);
   BasicConfigurator.configure();

   SimpleLayout layout = new SimpleLayout();

   FileAppender appender = null;

   try
   {
   appender = new
FileAppender(layout,"connectionlog.txt",true);
   }








Questions:

1. So how does this configuration work, does the java code override the
configuration on properties file?
2. What does BasicConfigurator do?
3. In propertes file, log4j.appender.LOGFILE.File=axis.log, but I cannot
find this axis.log anywhere after running the servlet.
In the java servlet, 

Re: Log4j Configuration

2005-08-16 Thread Rick_Herrick
William,

Two things you can try:

First, add an explicit path to the log file name.  So set it to
/var/log/axis/axis.log or /home/you/logs/axis.log or c:/tmp/logs/axis.log
or whatever is appropriate depending on platform, perms, etc.  You can also
do something like ${catalina.home}/logs/axis.log or something like that
too.  What's valid is very dependent on your environment, so play around
with that.  The default directory for log output is the current directory,
which in the case of a servlet container will usually be the container's
home directory.  So, for example, for Tomcat this means your
/usr/local/tomcat or c:\Tomcat or wherever you've got it installed.  I'm
not sure where these might go for other containers.

Second, check which log4j.properties file you're loading.  I have a little
code snippet here:
http://slapfest.blogspot.com/2005/07/what-version-of-class-or-resource-am-i.html

that you can use to find your log4j.properties.  There may be a problem
with that: in the cl.getResource() call, you may need to use
"log4j.properties" rather than "/log4j.properties", but I can't remember.
That'll tell you if your definition is even getting loaded or if your
servlet container is actually getting another log4j config from somewhere
else.

As far as your progammatically created appender, I can tell you why you
won't see any output from there: you're not adding the appender to your
logger.  Try something like this:

Logger logger = Logger.getLogger(EchoService.class);
BasicConfigurator.configure();

SimpleLayout layout = new SimpleLayout();

FileAppender appender = new FileAppender(layout,"connectionlog.txt",true);

if (appender != null)
{
logger.addAppender(appender);
}

BTW, as far as the BasicConfigurator stuff?  My guess is that that call is
completely unnecessary and could even screw up your configuration (which is
another possible reason why you might not be seeing any output into your
log files, if it's somehow nuking the default configuration, which actually
uses PropertyConfigurator).



   
 "William Mok" 
 <[EMAIL PROTECTED] 
 m> To 
   "Log4J Users List"  
 08/16/2005 11:57   
 AM cc 
   
       Subject 
 Please respond to Re: Log4j Configuration 
   "Log4J Users
   List"   
 <[EMAIL PROTECTED] 
  ng.apache.org>   
   
   




Thanks,
I have included the log4j.properties file in the CLASSPATH and restart
tomcat, but I could not find any log file generated under the entire tomcat

directory, after running the servlet.

- Original Message -
From: "Harp, George" <[EMAIL PROTECTED]>
To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 10:51 AM
Subject: RE: Log4j Configuration


>I don't have to put any configuration code in my appliaction I just make
> sure that log4j.properties or log4j.xml is in the clas path.
>
> -Original Message-
> From: William Mok [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, August 16, 2005 12:35 PM
> To: log4j-user@logging.apache.org
> Subject: Log4j Configuration
>
>
> Hi,
>
> I have the following log4j.properties file:
>
>


> ---
> # Set root category priority to INFO and its only appender to CONSOLE.
> log4j.rootCategory=INFO, CONSOLE
> #log4j.rootCategory=INFO, CONSOLE, LOGFILE
>
> # Set the enterprise logger category to FATAL and its only appender to
> CONSOLE.
> log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
>
> # CONSOLE is set to be a ConsoleAppender using a PatternLayout.
> log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
> log4j.appender.CONSOLE.Threshold=INFO
> log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
> log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
>
> # LOGFILE is set to be a File appender 

RE: Log4j Configuration

2005-08-16 Thread Harp, George
public class WhatEver
{
   private static Logger logger_m =
  Logger.getLogger( WhatEver.class );

   public Whatever( )
   {
  logger_m.error("HELP");
   }
}

DO you have this in your code?

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 2:13 PM
To: Log4J Users List
Subject: Re: Log4j Configuration 


Thanks, I changed the line to log4j.appender.LOGFILE.File=/sandbox/axis.log
reatart tomcat, but the axis.log still does not exist.

Another problem is that even I have specified the properties file in 
CLASSPATH, I got this warning when I try to deploy my servlet. Somehow it 
just cannot find the properties file ??

log4j:WARN No appenders could be found for logger 
(org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.


- Original Message - 
From: "Harp, George" <[EMAIL PROTECTED]>
To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 12:01 PM
Subject: RE: Log4j Configuration


> You seem to be running it to the console -- Sys.out
> and axis.log ... if it doesn't hurt your application hard code a directory
> prefix and then you'll know where it ends up
> ie
> log4j.appender.LOGFILE.File=axis.log
>
> to
> log4j.appender.LOGFILE.File=c:\axis.log
>
> in log4j.xml
> I can use java properties so maybe try
> log4j.appender.LOGFILE.File=$(user.dir}/axis.log
>
> if this is not clear reply and ill find the link for you
>
> -Original Message-
> From: William Mok [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, August 16, 2005 1:58 PM
> To: Log4J Users List
> Subject: Re: Log4j Configuration
>
>
> Thanks,
> I have included the log4j.properties file in the CLASSPATH and restart
> tomcat, but I could not find any log file generated under the entire 
> tomcat
> directory, after running the servlet.
>
> - Original Message - 
> From: "Harp, George" <[EMAIL PROTECTED]>
> To: "'Log4J Users List'" 
> Sent: Tuesday, August 16, 2005 10:51 AM
> Subject: RE: Log4j Configuration
>
>
>>I don't have to put any configuration code in my appliaction I just make
>> sure that log4j.properties or log4j.xml is in the clas path.
>>
>> -Original Message-
>> From: William Mok [mailto:[EMAIL PROTECTED]
>> Sent: Tuesday, August 16, 2005 12:35 PM
>> To: log4j-user@logging.apache.org
>> Subject: Log4j Configuration
>>
>>
>> Hi,
>>
>> I have the following log4j.properties file:
>>
>>
>

>> ---
>> # Set root category priority to INFO and its only appender to CONSOLE.
>> log4j.rootCategory=INFO, CONSOLE
>> #log4j.rootCategory=INFO, CONSOLE, LOGFILE
>>
>> # Set the enterprise logger category to FATAL and its only appender to
>> CONSOLE.
>> log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
>>
>> # CONSOLE is set to be a ConsoleAppender using a PatternLayout.
>> log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
>> log4j.appender.CONSOLE.Threshold=INFO
>> log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
>> log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
>>
>> # LOGFILE is set to be a File appender using a PatternLayout.
>> log4j.appender.LOGFILE=org.apache.log4j.FileAppender
>> log4j.appender.LOGFILE.File=axis.log
>> log4j.appender.LOGFILE.Append=true
>> log4j.appender.LOGFILE.Threshold=INFO
>> log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
>> log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x -
>> %m%n
>>
>

>> 
>>
>> At the same time, I also have the following lines in my java servlet
>>
>>
>

>> 
>>   Logger logger = Logger.getLogger(EchoService.class);
>>BasicConfigurator.configure();
>>
>>SimpleLayout layout = new SimpleLayout();
>>
>>FileAppender appender = null;
>>
>>try
>>{
>>appender = new
>> FileAppender(layout,"connectionlog.txt",true);
>>}
>>
>
--

Re: Log4j Configuration

2005-08-16 Thread William Mok

Thanks, I changed the line to log4j.appender.LOGFILE.File=/sandbox/axis.log
reatart tomcat, but the axis.log still does not exist.

Another problem is that even I have specified the properties file in 
CLASSPATH, I got this warning when I try to deploy my servlet. Somehow it 
just cannot find the properties file ??


log4j:WARN No appenders could be found for logger 
(org.apache.axis.i18n.ProjectResourceBundle).

log4j:WARN Please initialize the log4j system properly.


- Original Message - 
From: "Harp, George" <[EMAIL PROTECTED]>

To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 12:01 PM
Subject: RE: Log4j Configuration



You seem to be running it to the console -- Sys.out
and axis.log ... if it doesn't hurt your application hard code a directory
prefix and then you'll know where it ends up
ie
log4j.appender.LOGFILE.File=axis.log

to
log4j.appender.LOGFILE.File=c:\axis.log

in log4j.xml
I can use java properties so maybe try
log4j.appender.LOGFILE.File=$(user.dir}/axis.log

if this is not clear reply and ill find the link for you

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 1:58 PM
To: Log4J Users List
Subject: Re: Log4j Configuration


Thanks,
I have included the log4j.properties file in the CLASSPATH and restart
tomcat, but I could not find any log file generated under the entire 
tomcat

directory, after running the servlet.

- Original Message - 
From: "Harp, George" <[EMAIL PROTECTED]>

To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 10:51 AM
Subject: RE: Log4j Configuration



I don't have to put any configuration code in my appliaction I just make
sure that log4j.properties or log4j.xml is in the clas path.

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 12:35 PM
To: log4j-user@logging.apache.org
Subject: Log4j Configuration


Hi,

I have the following log4j.properties file:





---
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to
CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x -
%m%n






At the same time, I also have the following lines in my java servlet






  Logger logger = Logger.getLogger(EchoService.class);
   BasicConfigurator.configure();

   SimpleLayout layout = new SimpleLayout();

   FileAppender appender = null;

   try
   {
   appender = new
FileAppender(layout,"connectionlog.txt",true);
   }






Questions:

1. So how does this configuration work, does the java code override the
configuration on properties file?
2. What does BasicConfigurator do?
3. In propertes file, log4j.appender.LOGFILE.File=axis.log, but I cannot
find this axis.log anywhere after running the servlet.
In the java servlet, I have the line "appender = new
FileAppender(layout,"connectionlog.txt",true);", but I cannot find the
connectionlog.txt file anywhere.

Thanks.

William


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Log4j Configuration

2005-08-16 Thread Harp, George
You seem to be running it to the console -- Sys.out
and axis.log ... if it doesn't hurt your application hard code a directory
prefix and then you'll know where it ends up
ie
log4j.appender.LOGFILE.File=axis.log

to
log4j.appender.LOGFILE.File=c:\axis.log

in log4j.xml
I can use java properties so maybe try
log4j.appender.LOGFILE.File=$(user.dir}/axis.log

if this is not clear reply and ill find the link for you

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 1:58 PM
To: Log4J Users List
Subject: Re: Log4j Configuration 


Thanks,
I have included the log4j.properties file in the CLASSPATH and restart 
tomcat, but I could not find any log file generated under the entire tomcat 
directory, after running the servlet.

- Original Message - 
From: "Harp, George" <[EMAIL PROTECTED]>
To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 10:51 AM
Subject: RE: Log4j Configuration


>I don't have to put any configuration code in my appliaction I just make
> sure that log4j.properties or log4j.xml is in the clas path.
>
> -Original Message-
> From: William Mok [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, August 16, 2005 12:35 PM
> To: log4j-user@logging.apache.org
> Subject: Log4j Configuration
>
>
> Hi,
>
> I have the following log4j.properties file:
>
>

> ---
> # Set root category priority to INFO and its only appender to CONSOLE.
> log4j.rootCategory=INFO, CONSOLE
> #log4j.rootCategory=INFO, CONSOLE, LOGFILE
>
> # Set the enterprise logger category to FATAL and its only appender to
> CONSOLE.
> log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
>
> # CONSOLE is set to be a ConsoleAppender using a PatternLayout.
> log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
> log4j.appender.CONSOLE.Threshold=INFO
> log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
> log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
>
> # LOGFILE is set to be a File appender using a PatternLayout.
> log4j.appender.LOGFILE=org.apache.log4j.FileAppender
> log4j.appender.LOGFILE.File=axis.log
> log4j.appender.LOGFILE.Append=true
> log4j.appender.LOGFILE.Threshold=INFO
> log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
> log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - 
> %m%n
>

> 
>
> At the same time, I also have the following lines in my java servlet
>
>

> 
>   Logger logger = Logger.getLogger(EchoService.class);
>BasicConfigurator.configure();
>
>SimpleLayout layout = new SimpleLayout();
>
>FileAppender appender = null;
>
>try
>{
>appender = new
> FileAppender(layout,"connectionlog.txt",true);
>}
>

> 
>
> Questions:
>
> 1. So how does this configuration work, does the java code override the
> configuration on properties file?
> 2. What does BasicConfigurator do?
> 3. In propertes file, log4j.appender.LOGFILE.File=axis.log, but I cannot
> find this axis.log anywhere after running the servlet.
> In the java servlet, I have the line "appender = new
> FileAppender(layout,"connectionlog.txt",true);", but I cannot find the
> connectionlog.txt file anywhere.
>
> Thanks.
>
> William
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Log4j Configuration

2005-08-16 Thread William Mok

Thanks,
I have included the log4j.properties file in the CLASSPATH and restart 
tomcat, but I could not find any log file generated under the entire tomcat 
directory, after running the servlet.


- Original Message - 
From: "Harp, George" <[EMAIL PROTECTED]>

To: "'Log4J Users List'" 
Sent: Tuesday, August 16, 2005 10:51 AM
Subject: RE: Log4j Configuration



I don't have to put any configuration code in my appliaction I just make
sure that log4j.properties or log4j.xml is in the clas path.

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 12:35 PM
To: log4j-user@logging.apache.org
Subject: Log4j Configuration


Hi,

I have the following log4j.properties file:


---
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to
CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - 
%m%n




At the same time, I also have the following lines in my java servlet



  Logger logger = Logger.getLogger(EchoService.class);
   BasicConfigurator.configure();

   SimpleLayout layout = new SimpleLayout();

   FileAppender appender = null;

   try
   {
   appender = new
FileAppender(layout,"connectionlog.txt",true);
   }



Questions:

1. So how does this configuration work, does the java code override the
configuration on properties file?
2. What does BasicConfigurator do?
3. In propertes file, log4j.appender.LOGFILE.File=axis.log, but I cannot
find this axis.log anywhere after running the servlet.
In the java servlet, I have the line "appender = new
FileAppender(layout,"connectionlog.txt",true);", but I cannot find the
connectionlog.txt file anywhere.

Thanks.

William


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Log4j Configuration

2005-08-16 Thread Harp, George
I don't have to put any configuration code in my appliaction I just make
sure that log4j.properties or log4j.xml is in the clas path.

-Original Message-
From: William Mok [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 16, 2005 12:35 PM
To: log4j-user@logging.apache.org
Subject: Log4j Configuration 


Hi,

I have the following log4j.properties file:


---
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to
CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n



At the same time, I also have the following lines in my java servlet



   Logger logger = Logger.getLogger(EchoService.class);
BasicConfigurator.configure();

SimpleLayout layout = new SimpleLayout();

FileAppender appender = null;

try
{
appender = new
FileAppender(layout,"connectionlog.txt",true);
}



Questions:

1. So how does this configuration work, does the java code override the
configuration on properties file?
2. What does BasicConfigurator do?
3. In propertes file, log4j.appender.LOGFILE.File=axis.log, but I cannot
find this axis.log anywhere after running the servlet.
In the java servlet, I have the line "appender = new
FileAppender(layout,"connectionlog.txt",true);", but I cannot find the
connectionlog.txt file anywhere. 

Thanks.

William


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



  1   2   >