簡體   English   中英

無法在ASP.NET Web窗體站點中使用log4net將日志寫入文件

[英]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。 我已執行以下步驟:

  1. 打開一個新的asp.net Web表單
  2. 通過nuget管理器安裝log4net。
  3. 在global.asax文件中,我在Application_Start中有以下內容:

     log4net.Config.XmlConfigurator.Configure (); 
  4. 在Web配置中,我將以下行添加到configSections節點:

    <section name =“ log4net” type =“ log4net.Config.Log4NetConfigurationSectionHandler,log4net” />

  5. 在網絡配置中,我添加了以下部分:

     <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> 
  6. 在啟動頁面中,我獲取了logger的實例:

     private static readonly ILog log = LogManager.GetLogger ( System.Reflection.MethodBase.GetCurrentMethod ().DeclaringType ); 
  7. Page_Load我寫了這一行:

    log.Debug(“ test”);

  8. 我已將具有讀取/寫入權限的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM