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 {
    ...
}