2010-10-23 90 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

相关问题