我正在尝试使用我从这里的其他几个答案中汇总的解决方案。基本上,我正在尝试将一个 log4net 配置文件用于具有多个项目的解决方案。
这是我的配置文件:
<?xml version="1.0" ?>
<log4net>
<appender name="FileMonitorAppender" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="C:\Documents and Settings\user1\My Documents\My Box Files\FOBS\logs\Box File Monitor %date{MM.dd.yyyy'_'hh.mm.ss''}.txt" />
<appendToFile value="true"/>
<layout type="log4net.Layout.PatternLayout">
<header value="[START: Box File Monitor Run %date]%newline" type="log4net.Util.PatternString" />
<conversionPattern value="%date{HH:mm:ss} - %-5level- %message%newline" />
<footer value="[END: Box File Monitor Run]" />
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="FileMonitorAppender" />
</root>
</log4net>
这是我在代码中调用记录器的地方:
private static readonly ILog _log = LogManager.GetLogger("Duke.Mobile.FileMonitorAutomation.FileMonitor");
我在调用程序集中也有这个,它应该配置记录器:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
我在解决方案文件夹中有 log4net.config 文件,然后将其作为链接文件添加到调用程序集中。当应用程序运行时,它永远不会命中配置。我见过几个类似的问题,但从来没有完全这样设置,希望有人能提供帮助。