C# 使用配置文件时Log4Net不工作
我想在我当前的项目中使用C# 使用配置文件时Log4Net不工作,c#,log4net,C#,Log4net,我想在我当前的项目中使用log4net。 因此,我开始阅读官方文档中的示例,并首先使用了BasicConfigurator,但下一步是切换到配置文件,而不是对所有内容进行硬编码。 我创建了一个名为MyApp.log4net的XML文件,其中包含: <log4net> <appender name="A1" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout
log4net
。因此,我开始阅读官方文档中的示例,并首先使用了
BasicConfigurator
,但下一步是切换到配置文件,而不是对所有内容进行硬编码。我创建了一个名为
MyApp.log4net
的XML
文件,其中包含:
<log4net>
<appender name="A1" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger %ndc - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="A1" />
</root>
</log4net>
到程序
类,该类与MyApp.log4net
位于同一目录中如果我现在尝试记录某些内容,例如使用
LogManager.GetLogger(typeof(Program)).Info("Hello World");
…然后什么也没发生。没有错误,没有消息,什么都没有。是否有什么我忘记/误解的工作原理可以解决此问题?您将配置文件的名称指定为“Awesome.Server.log4net”:
修复配置文件名或更改程序集属性属性
ConfigFile
需要在ConfigFile中设置配置文件全名,即MyApp.log4net.xml
i使用程序集属性和配置文件设置新的控制台应用程序,并记录hello world。成功了。
LogManager.GetLogger(typeof(Program)).Info("Hello World");
[assembly: XmlConfigurator(ConfigFile = "Awesome.Server.log4net", Watch = true)]
namespace Awesome.Server {
...
}