据我所知,这个 问题 已经 被 问 几个 倍,但不幸的是,我一直没能得到我的日志配置工作.我必须在某个地方犯一些非常小的错误.
我有一个.NET 4.5 MVC 4/EF 5 Web应用程序,我正在尝试登录工作.该解决方案有两个项目,一个用于DAO和模型对象,另一个用于网站.App.Config文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="RebuildingTogetherEntities" connectionString="stuff..."/>
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>
<log4net configSource="Log.config" />
</configuration>
Run Code Online (Sandbox Code Playgroud)
同样的log4net部分也已复制到Web.Config文件中.
我在AssemblyInfo.cs文件中添加了以下内容:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log.config", Watch = true)]
Run Code Online (Sandbox Code Playgroud)
对于两个Log.Config文件,"复制到输出目录"设置为true.
我似乎可以将日志记录附加到输出文件的唯一方法是在第一个日志记录语句运行之前调用XmlConfigurator.Configure().当我第一次获得记录器时,我想我可以写一个外观来做到这一点,但这感觉不对.
如何在不手动调用XmlConfigurator的情况下初始化记录器?