log4net记录器配置
问题描述:
是否可以根据配置设置记录器。我有一个网络应用程序 使用框架。该框架是可扩展的并具有记录器。 当我登录时,当前记录器被设置为框架类。log4net记录器配置
是否有可能,我可以配置我的web应用程序,并设置记录器的web应用程序 loggerForWebApp
和一个控制台应用程序(它是使用 相同的框架),以loggerForConsoleApp
记录器?
答
除了根记录器(它必须始终在那里),您可以命名自己的appender,裁判和水平记录器。
例如,你可以有这样的事情:
<root>
....
</root>
<logger name="loggerForWebApp">
<level value="WARN" />
<appender-ref ... />
</logger>
<logger name="loggerForConsoleApp">
<level value="WARN" />
<appender-ref ... />
</logger>
在代码中,你会被他们的名字召唤这些记录器:
var log = LogManager.GetLogger("loggerForWebApp");
这是可能的,因为我在我的答案描述。但为什么你会在这两个应用程序之间共享log4net配置?你可以从你的网络应用程序中分离出控制台应用程序,并且仍然能够利用你的框架,或者它被绑定到web应用程序中吗? – 2009-12-23 08:36:54
不,我不会在2个应用程序之间分享它。我想在运行时从2个不同的app/web.configs中选择它们,它们会有不同的值。 – ram 2009-12-23 11:30:16
没错。那么为什么你需要在控制台app.config中的webapp记录器或web.config中的consoleapp记录器?猜猜我没有看到你的问题的整个背景... – 2009-12-23 12:54:07