logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacob Kjome" <h...@visi.com>
Subject Re: class specific logging level
Date Fri, 08 Jun 2012 15:58:52 GMT

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.agg.9@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.agg.9@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.agg.9@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-unsubscribe@logging.apache.org
>>>>>For additional commands, e-mail: log4j-user-help@logging.apache.org
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>>>> For additional commands, e-mail: log4j-user-help@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-unsubscribe@logging.apache.org
>>>For additional commands, e-mail: log4j-user-help@logging.apache.org
>>> 
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>> For additional commands, e-mail: log4j-user-help@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-unsubscribe@logging.apache.org
>For additional commands, e-mail: log4j-user-help@logging.apache.org
> 
> 


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


Mime
View raw message