1
我有一臺Windows 2003生產機器上的iis服務器,它不會在.net3.5 web應用程序中使用log4net進行登錄。 Log4net在使用log4net版本1.2.9.0的1.1應用程序中正常工作,但不是3.5 web應用程序。日誌記錄在開發和暫存環境中工作正常,但不在生產環境中。它沒有錯誤,我也沒有收到事件查看器中記錄的事件,也不知道下一步要看哪裏。我已經嘗試了兩個版本的log4net(1.2.9.0和1.2.10.0),並且都在開發和分期階段工作,但不在生產階段。log4net不記錄混合使用.net 1.1和.net 3.5
出於測試目的,我創建了一個只有一個頁面的應用程序,它回擊了頁面被擊中的時間,並且應該使用log4net登錄到我的日誌文件。
這裏是我的web.config文件:
<configSections>
<!-- LOG4NET Configuration -->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" requirePermission="false" />
</configSections>
<log4net debug="true">
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\DIF\Logs\TestApp\TestApp_"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Date"/>
<param name="DatePattern" value="yyyyMMdd\.\l\o\g"/>
<param name="StaticLogFileName" value="false"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{HH:mm:ss} %C::%M [%-5level] - %message%newline"/>
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="RollingFileAppender"/>
</root>
</log4net>
這裏是我的log4net的初始化:
// Logging for the application
private static ILog mlog = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected void Application_Start(object sender, EventArgs e)
{
try
{
// Start the configuration of the Logging
XmlConfigurator.Configure();
mlog.Info("Started logging for the TestApp Application.");
}
catch (Exception ex)
{
throw;
}
}
任何幫助將不勝感激。
感謝,
吉姆
喬,謝謝你指點我在正確的方向。這樣做後,它指出我當然有權限。這不是文件權限,但ISP具有「完全」信任的1.1 .net和「中等」信任的.net 3.5。我在Framework \ Config \ web.config文件中更改了它,並且瞧! 有時我不能相信你怎麼可以讓皮皮熊思考一種方式,它只是需要一些人拉你一點點,並指出你在正確的方向。謝謝!! – 2010-03-17 19:01:55