2010-10-23 52 views
16

我想將下面的代碼與網站一起使用。其中config sections我應該添加到web.config將輸出記錄到文件或Windows事件日誌中?將tracelistener添加到web.config中

using System.Diagnostics; 

// Singleton in real code 
Class Logger 
{ 
    // In constructor: Trace.AutoFlush = false; 

    public void Log(message) 
    { 
     String formattedLog = formatLog(message); 
     Trace.TraceInformation(formattedLog); 
     Trace.Flush(); 
    } 
} 

回答

22

您應該使用system.diagnostics部分。 這裏的例子來自MSDN的文本文件:

<configuration> 
    <system.diagnostics> 
    <trace autoflush="false" indentsize="4"> 
     <listeners> 
     <add name="myListener" 
      type="System.Diagnostics.TextWriterTraceListener" 
      initializeData="TextWriterOutput.log" /> 
     <remove name="Default" /> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
</configuration> 

這是系統事件日誌:http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlogtracelistener.aspx

+3

記錄到Windows事件日誌不直向前asp.net,因爲它需要管理權限。 – Xaqron 2010-10-26 03:07:34

+0

您認爲web.config _listiners_部分中的任何更改都需要允許登錄到EventLog中嗎? – TarasB 2010-10-28 07:18:24

+0

你只需要這個代碼在網絡配置或你還需要下面的代碼? '爲事件日誌創建一個跟蹤偵聽器。 Dim myTraceListener As New EventLogTraceListener(「myEventLogSource」) '將事件日誌跟蹤偵聽器添加到集合中。 Trace.Listeners.Add(myTraceListener) '將輸出寫入事件日誌。 Trace.WriteLine(「測試輸出」) – 2011-05-10 15:50:27

相關問題