You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-user@logging.apache.org by Julien Sobrier <ju...@sobrier.net> on 2006/04/20 00:09:23 UTC

How to log a namespace?

Hello,
How can I restrict the logging to a namespace or a class?

My project uses several namespaces and classes, and I'd like to have
several log files:
* one for all classes (done)
* other log files for just one class or just one namespace.

Thank you
Julien

Re: How to log a namespace?

Posted by Julien Sobrier <ju...@sobrier.net>.
Matthew Brown wrote:
> If you name your loggers after your class's full name, this works out naturally.
> 
> http://logging.apache.org/log4net/release/manual/introduction.html#hierarchy

Thank you to both of you

Re: How to log a namespace?

Posted by Matthew Brown <oc...@gmail.com>.
If you name your loggers after your class's full name, this works out naturally.

http://logging.apache.org/log4net/release/manual/introduction.html#hierarchy

Getting a logger with the name "Namespace1.Namespace2.ClassName" will
add "Namespace1", "Namespace1.Namespace2", and
"Namespace1.Namespace2.Classname" to the hierarchy. Then, you can
configure them accordingly:

<logger name="Namespace1">
	<appender-ref ref="Appender1" />
</logger>

<logger name="Namespace1.Namespace2">
	<appender-ref ref="Appender2" />
 </logger>

<logger name="Namespace1.Namespace2.ClassName">
	<appender-ref ref="Appender3" />
 </logger>

So class Namespace1.Namespace2.ClassName will go to Appender3, all
other classes in Namespace1 not in Namespace2 as well will go to
Appender1 only. Since loggers inherit from their ancestor, classes in
Namespace1.Namespace2 not named "ClassName" will only go to Appender1
and 2, but not 3, etc...

On 4/19/06, Julien Sobrier <ju...@sobrier.net> wrote:
> Hello,
> How can I restrict the logging to a namespace or a class?
>
> My project uses several namespaces and classes, and I'd like to have
> several log files:
> * one for all classes (done)
> * other log files for just one class or just one namespace.
>
> Thank you
> Julien
>

Re: How to log a namespace?

Posted by Ron Grabowski <ro...@yahoo.com>.
You can define additional loggers by putting one or more logger nodes
underneath the root node:

 <root>
  <level value="ALL" />
  <appender-ref ref="GeneralLogFileAppender" />
 </root>
 <logger name="IBatisNet.Common">
  <level value="DEBUG" />
  <appender-ref ref="IBatisNetFileAppender" />
 </logger>

This is the definition for IBatisNetFileAppender:

 <appender name="IBatisNetFileAppender"
type="log4net.Appender.FileAppender">
  <file value="Logs\IBatisNet.txt" />
  <layout type="log4net.Layout.PatternLayout" />
 </appender> 

--- Julien Sobrier <ju...@sobrier.net> wrote:

> Hello,
> How can I restrict the logging to a namespace or a class?
> 
> My project uses several namespaces and classes, and I'd like to have
> several log files:
> * one for all classes (done)
> * other log files for just one class or just one namespace.
> 
> Thank you
> Julien
>