开发者

log4net logger configuration

Is it possible to set the logger from configuration. I have a web app using a framework. The framework is extensible and has the logger. When I log, currently, the logger is set to the framework class.

Is it possible that I can configure my web app and set the logger for the web app to loggerForWebApp and the logger for a console app (which is using the same framework) to loggerFor开发者_运维技巧ConsoleApp?


In addition to the root logger (which must always be there) you can have named loggers with their own appender-refs and levels.

For instance, you could have something like this:

<root>
....
</root>

<logger name="loggerForWebApp">
    <level value="WARN" />
    <appender-ref ... />
</logger>

<logger name="loggerForConsoleApp">
    <level value="WARN" />
    <appender-ref ... />
</logger>

In code, you would summon these loggers by their name:

var log = LogManager.GetLogger("loggerForWebApp");


Most definitely, and this is one of the great things about log4net: it can log out to a wide range of loggers.

For examples of the appenders, see here. Probably the most common one in use is the RollingFileAppender, but the ConsoleAppender can be very handy for console applications. Alternatively the TraceAppender can write out to the standard .NET trace listeners for further redirection (or display in the debug Output window in Visual Studio).

To create your own, implement IAppender.

details to follow

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜