Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Configuration log4net记录器配置_Configuration_Logging_Web Config_Log4net - Fatal编程技术网

Configuration log4net记录器配置

Configuration log4net记录器配置,configuration,logging,web-config,log4net,Configuration,Logging,Web Config,Log4net,是否可以从配置中设置记录器。我有一个网络应用程序 使用框架。该框架是可扩展的,并具有记录器。 当前,当我记录日志时,记录器被设置为框架类 是否可以配置我的web应用并将web应用的记录器设置为 loggerForWebApp和控制台应用的记录器(使用 同样的框架)登录到loggerForConsoleApp?,这是log4net的一大优点:它可以注销到各种各样的记录器 有关附加器的示例,请参见。可能最常用的是RollingFileAppender,但是ConsoleAppender对于控制台应用

是否可以从配置中设置记录器。我有一个网络应用程序 使用框架。该框架是可扩展的,并具有记录器。 当前,当我记录日志时,记录器被设置为框架类

是否可以配置我的web应用并将web应用的记录器设置为
loggerForWebApp
和控制台应用的记录器(使用
同样的框架)登录到loggerForConsoleApp?

,这是log4net的一大优点:它可以注销到各种各样的记录器

有关附加器的示例,请参见。可能最常用的是
RollingFileAppender
,但是
ConsoleAppender
对于控制台应用程序来说非常方便。或者,
TraceAppender
可以写入标准.NET跟踪侦听器以进行进一步重定向(或显示在Visual Studio的调试输出窗口中)

要创建自己的,请实现


要遵循的详细信息

除了根记录器(必须始终存在)之外,您还可以使用自己的附加器引用和级别命名记录器

例如,您可以有如下内容:

<root>
....
</root>

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

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

@拉姆问的不是阿佩德,而是伐木工人。log4net世界中有两个不同的东西。正如我在回答中所描述的,这是可能的。但为什么要在这两个应用程序之间共享log4net配置呢?你能将console应用程序与你的web应用程序隔离,并且仍然能够利用你的框架吗?或者它与web应用程序绑定了吗?不,我不会在两个应用程序之间共享它。我想在运行时从两个不同的app/web.configs中获取它,这两个app/web.configs具有不同的值。对。那么,为什么您需要console app.config中的webapp logger或web.config中的consoleapp logger?我想我没有看到你问题的全部背景…嘿,彼得。我想我没有恰当地表达我的问题。我将有两个应用程序使用相同的框架(因此使用相同的日志类)。记录器将被初始化为private
static ILog logger=LogManager.GetLogger(ConfigurationManager.AppSettings[“logger”].ToString())。在我的web.config中,我会将“appsettings”设置为“webapploger”,在我的consoleApp中,我会将“Logger”的“appsettings”设置为“ConsoleAppLogger”。它们可以写入相同/不同的数据库,现在我就知道哪个应用程序正在记录日志,它正在记录什么
var log = LogManager.GetLogger("loggerForWebApp");