gpt4 book ai didi

c# - log4net 中的第二个 appender 不工作

转载 作者:行者123 更新时间:2023-11-30 17:09:43 25 4
gpt4 key购买 nike

我的 web.config 中有以下内容:

<log4net>
<appender name="mainLog"
type="log4net.Appender.FileAppender">
<file value="Log/Log.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="linqLog"
type="log4net.Appender.FileAppender">
<file value="Log/Log.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline" />
</layout>
</appender>

<logger name="MainLogger">
<level value="ALL" />
<appender-ref ref="mainLog" />
</logger>
<logger name="LinqLogger">
<level value="ALL" />
<appender-ref ref="linqLog" />
</logger>
</log4net>

名为“mainLog”的第一个附加程序正在工作。但是第二个叫做“linqLog”的不是。如果我注释掉“mainLog”,则“linqLog”有效。

在我的 Global.asax 文件中,我有以下内容:

protected void Application_Start(object sender, EventArgs e)
{
XmlConfigurator.Configure();
}

我是这样称呼他们的:

public static void LogMessage(string message, string loggerName)
{
ILog log = LogManager.GetLogger(loggerName);
log.Info(string.Format(message));
}


LogMessage("My test message for MainLogger", "MainLogger");
LogMessage("My test message for LinqLogger", "LinqLogger");

知道我做错了什么吗?

最佳答案

两个文件附加器不能记录到同一个文件,除非你指定一个 lockingModel

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

参见 http://logging.apache.org/log4net/release/config-examples.html

关于c# - log4net 中的第二个 appender 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12646203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com