Re: class specific logging level

2012-06-08 Thread aggarwal

Hi,

I have tried it with the following configuration :


appender name=Log1 class=org.apache.log4j.RollingFileAppender





layout class=org.apache.log4j.PatternLayout
  
/layout
/appender

logger name=MyClass additivity=true
level value=DEBUG /
/logger

root
priority value=INFO /
appender-ref ref=Log1 /
/root


I want MyClass logs of DEBUG level and all other classes of ERROR in
log1.log file as mentioned in logger Log1. But it isnt happening. Am not
getting any DEBUG logs in log1.log whereas if I set the level in appender
Log1 to DEBUG, I do get the DEBUG logs of Myclass in log1.log. I am sorry
if am still making some mistake here. Please correct me where am I wrong.

Thanks for such quick replies.





Jacob Kjome wrote:
 
 
 What I've provided does exactly what you are asking for.  Setting your
 class 
 logging level to DEBUG overrides the inherited level from root for the 
 specified logger name.  Why don't you just try it and see what it does
 rather 
 than speculate on why you believe it wouldn't work?  You can also read try 
 reading the docs...
 
 http://logging.apache.org/log4j/1.2/manual.html
 
 Jake
 
 On Thu, 7 Jun 2012 20:44:05 -0700 (PDT)
  aggarwal akansha.ag...@gmail.com wrote:
 
 So when root level is ERROR and i set Myclass level to DEBUG, how will
 the
 Myclass's DEBUG logs get logged since the root level is ERROR and it will
 block the DEBUG logs ? What i know is that, if I set root level to DEBUG
 and
 some particular class (say Myclass) logger level to ERROR then, all
 classes'
 logs of DEBUG will get logged but not of Myclass as its restricted to
 ERROR.
 But what I want is the vice-versa. I want ERROR level of all classes and
 DEBUG of only few important classes. I am new to log4j so maybe what i am
 sayin is wrong.
 
 
 
 Jacob Kjome wrote:
 
 
 If you name your loggers by class name, then sure.  This is standard
 logging 
 configuration, not some extra special workaround.
 
 logger name=com.mypackage.Myclass
     level value=debug/
     !-- inherits A1 appender from root, applies only to
 com.mypackage.MyClass 
 --
 /logger
 logger name=com.myotherpackage
     level value=debug/
     !-- inherits A1 appender from root, applies to all classes in 
 com.myotherpackage --
 /logger
 root
     level value=error/
     appender-ref ref=A1/
 /root
 
 
 Jake
 
 On Thu, 7 Jun 2012 01:51:07 -0700 (PDT)
  aggarwal akansha.ag...@gmail.com wrote:
 
 Hi,
 
 Is it possible to set logging level for few selected classes in
 appender
 to
 DEBUG and rest all ERROR ? Is there any combination of filter that can
 do
 this ?
 -- 
 View this message in context: 
http://old.nabble.com/class-specific-logging-level-tp33974515p33974515.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/class-specific-logging-level-tp33974515p33979415.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/class-specific-logging-level-tp33974515p33982398.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



AUTO: Sandro Ruch/namics/com is out of the office. (returning 25.06.2012)

2012-06-08 Thread Sandro Ruch


I am out of the office until 25.06.2012.

I will respond to your message when I return.


Note: This is an automated response to your message  Re: class specific
logging level sent on 08.06.2012 17:02:52.

This is the only notification you will receive while this person is away.

Re: class specific logging level

2012-06-08 Thread Jacob Kjome


How do you define your logger in your Java code?  I'm suspicious that the 
logger name you've defined as MyClass is merely the simple name of the 
class, not the fully qualified name of the class that you've likely defined it 
for your logger name.


That is, if MyClass is in the package com.mypackage, and you've defined 
the logger using something like...


Logger logger = Logger.getLogger(MyClass.class);
OR
Logger logger = Logger.getLogger(MyClass.class.getName());

...then your configuration should be

logger name=com.mypackage.MyClass
 level value=DEBUG /
/logger

Note that additivity is true by default and need only be specified if you 
want to set it to false (which would mean you wouldn't inherit 
appenders/levels from ancestor loggers).


Also note that priority is the deprecated name for level.  It will work 
the same, but you should just use level to avoid confusion.


Finally, you mention you want all other classes to log at the ERROR level, yet 
you defined the level in root as INFO.  Typo?



Jake

On Fri, 8 Jun 2012 08:45:21 -0700 (PDT)
 aggarwal akansha.ag...@gmail.com wrote:


Hi,

I have tried it with the following configuration :


appender name=Log1 class=org.apache.log4j.RollingFileAppender





layout class=org.apache.log4j.PatternLayout
  
/layout
/appender

logger name=MyClass additivity=true
level value=DEBUG /
/logger

root
priority value=INFO /
appender-ref ref=Log1 /
/root


I want MyClass logs of DEBUG level and all other classes of ERROR in
log1.log file as mentioned in logger Log1. But it isnt happening. Am not
getting any DEBUG logs in log1.log whereas if I set the level in appender
Log1 to DEBUG, I do get the DEBUG logs of Myclass in log1.log. I am sorry
if am still making some mistake here. Please correct me where am I wrong.

Thanks for such quick replies.





Jacob Kjome wrote:



What I've provided does exactly what you are asking for.  Setting your
class 
logging level to DEBUG overrides the inherited level from root for the 
specified logger name.  Why don't you just try it and see what it does
rather 
than speculate on why you believe it wouldn't work?  You can also read try 
reading the docs...


http://logging.apache.org/log4j/1.2/manual.html

Jake

On Thu, 7 Jun 2012 20:44:05 -0700 (PDT)
 aggarwal akansha.ag...@gmail.com wrote:


So when root level is ERROR and i set Myclass level to DEBUG, how will
the
Myclass's DEBUG logs get logged since the root level is ERROR and it will
block the DEBUG logs ? What i know is that, if I set root level to DEBUG
and
some particular class (say Myclass) logger level to ERROR then, all
classes'
logs of DEBUG will get logged but not of Myclass as its restricted to
ERROR.
But what I want is the vice-versa. I want ERROR level of all classes and
DEBUG of only few important classes. I am new to log4j so maybe what i am
sayin is wrong.



Jacob Kjome wrote:



If you name your loggers by class name, then sure.  This is standard
logging 
configuration, not some extra special workaround.


logger name=com.mypackage.Myclass
    level value=debug/
    !-- inherits A1 appender from root, applies only to
com.mypackage.MyClass 
--

/logger
logger name=com.myotherpackage
    level value=debug/
    !-- inherits A1 appender from root, applies to all classes in 
com.myotherpackage --

/logger
root
    level value=error/
    appender-ref ref=A1/
/root


Jake

On Thu, 7 Jun 2012 01:51:07 -0700 (PDT)
 aggarwal akansha.ag...@gmail.com wrote:


Hi,

Is it possible to set logging level for few selected classes in
appender
to
DEBUG and rest all ERROR ? Is there any combination of filter that can
do
this ?
--
View this message in context: 
http://old.nabble.com/class-specific-logging-level-tp33974515p33974515.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/class-specific-logging-level-tp33974515p33979415.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: 

Re: class specific logging level

2012-06-08 Thread Douglas E Wegscheid
 I want MyClass logs of DEBUG level and all other classes of ERROR in
 log1.log file as mentioned in logger Log1. 
 ...
 whereas if I set the level in appender
 Log1 to DEBUG, I do get the DEBUG logs of Myclass in log1.log.

If you set the level of the Log1 appender to DEBUG, you say that you get 
the DEBUG logs of Myclass in log1.log. Isn't that what you want?

Re: class specific logging level

2012-06-08 Thread Jacob Kjome


First, you are not setting the level of the appender, but that of the logger 
which can reference any given appender, including your named Log1 appender.  
So, if you want ERROR level for all classes, then set the root logger level 
to ERROR. 


After that, you make a decision of which appenders you want logging to go to 
(disregarding level, as that is the job of the logger - except in regard to 
more advanced configuration where you can set appender level thresholds or use 
filters, but that's beyond our discussion here).  If you want output of all 
classes (again, disregarding level) to go to the Log1, then you provide a 
reference to Log1 in the primordial root logger.


After that, if you want to lower the level for specific loggers, you can 
specify those as you've done with com.pkg.MyClass.  Now all classes, 
including com.pkg.MyClass will log at the ERROR level, but com.pkg.MyClass 
will also provide DEBUG, INFO, and WARN (and SEVERE) logging as well.


This is all very standard stuff.  If you don't experience the above behavior, 
then I would suspect that the Log4j configuration you think you are using 
isn't being used at all.  You might want to use...


-Dlog4j.debug=true

This will tell Log4j to report how it is being configured.  You may find that 
some other configuration is being used instead of yours.  Either that, or you 
are not describing what you want clearly enough.



Jake

On Fri, 8 Jun 2012 09:15:14 -0700 (PDT)
 aggarwal akansha.ag...@gmail.com wrote:



If I set the level of Log1 appender to DEBUG, then DEBUG logs of all the
classes including MyClass are getting logged. If I set it to ERROR, then
ERROR logs of all the classes including MyClass are getting logged. But what
I want is - DEBUG logs of only MyClass and ERROR of rest all. Here, my
motive is to set DEBUG level logging for most important classes helping in
debugging procedure. 



logger name=com.pkg.MyClass
level value=DEBUG /
/logger

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

This is how a logger is defined in my code. It was my mistake to replace
com.pkg.MyClass with MyClass. 


Thanks for additivity and priority related suggestions.

Actually, root isn't my concern here. No matter what the level of root and
appender is, I want DEBUG logs of only MyClass.





Douglas E Wegscheid wrote:



I want MyClass logs of DEBUG level and all other classes of ERROR in
log1.log file as mentioned in logger Log1. 
...

whereas if I set the level in appender
Log1 to DEBUG, I do get the DEBUG logs of Myclass in log1.log.


If you set the level of the Log1 appender to DEBUG, you say that you get 
the DEBUG logs of Myclass in log1.log. Isn't that what you want?




--
View this message in context: 
http://old.nabble.com/class-specific-logging-level-tp33974515p33982558.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: class specific logging level

2012-06-08 Thread aggarwal

I will try setting root level to ERROR. All the other config is as u
suggested. Will try to debug why MyClass DEBUG logs arent getting logged
when its logger level is DEBUG. Thanks for detailed description.



Jacob Kjome wrote:
 
 
 First, you are not setting the level of the appender, but that of the
 logger 
 which can reference any given appender, including your named Log1
 appender.  
 So, if you want ERROR level for all classes, then set the root logger
 level 
 to ERROR. 
 
 After that, you make a decision of which appenders you want logging to go
 to 
 (disregarding level, as that is the job of the logger - except in regard
 to 
 more advanced configuration where you can set appender level thresholds or
 use 
 filters, but that's beyond our discussion here).  If you want output of
 all 
 classes (again, disregarding level) to go to the Log1, then you provide
 a 
 reference to Log1 in the primordial root logger.
 
 After that, if you want to lower the level for specific loggers, you can 
 specify those as you've done with com.pkg.MyClass.  Now all classes, 
 including com.pkg.MyClass will log at the ERROR level, but
 com.pkg.MyClass 
 will also provide DEBUG, INFO, and WARN (and SEVERE) logging as well.
 
 This is all very standard stuff.  If you don't experience the above
 behavior, 
 then I would suspect that the Log4j configuration you think you are using 
 isn't being used at all.  You might want to use...
 
 -Dlog4j.debug=true
 
 This will tell Log4j to report how it is being configured.  You may find
 that 
 some other configuration is being used instead of yours.  Either that, or
 you 
 are not describing what you want clearly enough.
 
 
 Jake
 
 On Fri, 8 Jun 2012 09:15:14 -0700 (PDT)
  aggarwal akansha.ag...@gmail.com wrote:
 
 
 If I set the level of Log1 appender to DEBUG, then DEBUG logs of all the
 classes including MyClass are getting logged. If I set it to ERROR, then
 ERROR logs of all the classes including MyClass are getting logged. But
 what
 I want is - DEBUG logs of only MyClass and ERROR of rest all. Here, my
 motive is to set DEBUG level logging for most important classes helping
 in
 debugging procedure. 
 
 
 logger name=com.pkg.MyClass
  level value=DEBUG /
 /logger
 
 private final static Logger logger = Logger.getLogger(MyClass.class);
 
 This is how a logger is defined in my code. It was my mistake to replace
 com.pkg.MyClass with MyClass. 
 
 Thanks for additivity and priority related suggestions.
 
 Actually, root isn't my concern here. No matter what the level of root
 and
 appender is, I want DEBUG logs of only MyClass.
 
 
 
 
 
 Douglas E Wegscheid wrote:
 
 I want MyClass logs of DEBUG level and all other classes of ERROR in
 log1.log file as mentioned in logger Log1. 
 ...
 whereas if I set the level in appender
 Log1 to DEBUG, I do get the DEBUG logs of Myclass in log1.log.
 
 If you set the level of the Log1 appender to DEBUG, you say that you get 
 the DEBUG logs of Myclass in log1.log. Isn't that what you want?
 
 
 -- 
 View this message in context: 
http://old.nabble.com/class-specific-logging-level-tp33974515p33982558.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/class-specific-logging-level-tp33974515p33982872.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