0
在我安裝,我有ASP.NET MVC與城堡記錄和log4net的愁楚
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.AddFacility<LoggingFacility>(f => f.UseLog4Net("log4net.config"));
}
我log4net的配置文件(其被部署到我的ASP.NET MVC應用程序的bin目錄)是:
<log4net>
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="100" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="data source=GCO06773\SQLEXPRESS;initial catalog=GEMS;integrated security=false;persist security info=True;User ID=<<userid removed>>;Password=<<password removed>>#" />
<commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
<parameter>
<parameterName value="@exception" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.ExceptionLayout" />
</parameter>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="AdoNetAppender" />
</root>
</log4net>
我有威盛Castle.Windsor實例化相關的代碼是控制器:
public ILogger Logger { get; set; }
public ActionResult Index()
{
Logger.Info("Info");
Logger.Debug("Debug");
Logger.Error("Error");
Logger.Fatal("Fatal");
Logger.Warn("Warn");
return View();
}
記錄儀是VA蓋城堡記錄器,當我在觀察窗口深入研究時,似乎沒有與底層log4net記錄器相關的appender,除了根appender。
根據procmon,log4net.config文件實際上是在某個時間點被訪問的,所以我假設它正在被讀取。 IIS日誌中沒有錯誤,事件日誌中沒有錯誤,也沒有可以檢測到的異常或錯誤。我很難過。
更新1: 忘了提,我添加了這個:
<add key="log4net.Config" value="log4net.config"/>
在web.config中,但它似乎沒有任何改變。
更新2:
我使用log4net的1.2.10.0與公鑰標記:1b44e1d426115821(此事項與城堡日誌這就是爲什麼我提到它)。
我實際上已經嘗試過,但我想也許我沒有重新啓動網站,所以更改沒有得到。謝謝。這解決了它。 – Pete