[英]unable to write logs to a file using log4net in an ASP.NET Web Forms Site
我在使用log4net dll登錄到文本文件時遇到問題。
我在Windows Server 2008 R2標准版(64)上使用vs 2012 Express。 我已執行以下步驟:
在global.asax文件中,我在Application_Start中有以下內容:
log4net.Config.XmlConfigurator.Configure ();
在Web配置中,我將以下行添加到configSections節點:
<section name =“ log4net” type =“ log4net.Config.Log4NetConfigurationSectionHandler,log4net” />
在網絡配置中,我添加了以下部分:
<log4net debug="true"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="c:\\webSite\\extraDownloadServerResources\\Logs\\ALU\\log.txt" /> <appendToFile value="true" /> <rollingStyle value="Composite"/> <datePattern value="yyyyMMdd" /> <maxSizeRollBackups value="5" /> <maximumFileSize value="5MB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%n%-5p %d %5rms %-22.22c{1} %-18.18M %n - %m%n" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="RollingLogFileAppender" /> </root> </log4net>
在啟動頁面中,我獲取了logger的實例:
private static readonly ILog log = LogManager.GetLogger ( System.Reflection.MethodBase.GetCurrentMethod ().DeclaringType );
在Page_Load
我寫了這一行:
log.Debug(“ test”);
我已將具有讀取/寫入權限的Dedualt App Pool用戶添加到log.txt文件安全性中。
我最終在日志文件中什么也沒有。 為了測試我執行的步驟,我創建了一個新的空網站,並一步一步地遵循這些步驟。 las(我喜歡這個詞),這次日志已寫入文件。
有誰能指出我可能的解決方案?
要調試log4net配置問題,應啟用log4net內部調試 。
在appSettings
添加log4net.Internal.Debug
鍵,如下所示:
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
這將使log4net能夠將所有消息輸出到控制台和Trace 。 要將所有診斷消息轉發到文件,您可以添加跟蹤偵聽器:
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\tmp\log4net.txt" />
</listeners>
</trace>
</system.diagnostics>
這些摘錄直接取自log4net FAQ ,此處僅供參考。
這至少會使您了解正在發生的情況,因為您將收到錯誤消息。
我設法解決了我的問題。
我已經下載了監視所有iss交通的工具 。 監視流量時,我看到用戶名不是defaultAppPool或AppPoolName。 那是ASP.NET v4.0 。 在我授予權限並重新啟動一切之后,我終於在文件中看到了一些日志...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.