Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# TextWriterTraceListener不工作_C#_Asp.net_Trace_Diagnostics - Fatal编程技术网

C# TextWriterTraceListener不工作

C# TextWriterTraceListener不工作,c#,asp.net,trace,diagnostics,C#,Asp.net,Trace,Diagnostics,我正在尝试将跟踪添加到我的.NET4.5ASP.NETMVC项目中。我所做的: (web.config) 所以基本上 我将侦听器添加到web.config中的TraceSource 将“自动刷新”设置为true 初始化类中的TraceSource,然后对其进行写入 通过它进行调试,发现TraceSource已正确初始化 检查了DbgView(系统内部),但什么也没看到 如果在某处创建了日志文件,请使用ProcessMonitor进行检查。没什么 尝试了不同的途径 查找应用程序文件夹、syste

我正在尝试将跟踪添加到我的.NET4.5ASP.NETMVC项目中。我所做的:

(web.config)

所以基本上

  • 我将侦听器添加到web.config中的TraceSource
  • 将“自动刷新”设置为true
  • 初始化类中的TraceSource,然后对其进行写入
  • 通过它进行调试,发现TraceSource已正确初始化
  • 检查了DbgView(系统内部),但什么也没看到
  • 如果在某处创建了日志文件,请使用ProcessMonitor进行检查。没什么
  • 尝试了不同的途径
  • 查找应用程序文件夹、system32,当然还有指定的文件夹
进一步资料:

  • 模拟=真
  • 本地开发机器
  • IIS Express,Visual Studio 2013
  • 跟踪常量在调试和发布中设置

我错过了什么?为什么它仍然不工作?

您的switch语句似乎阻止了输出

您的开关值为“警告”,否则您的TraceEventType为“信息”


尝试将开关值更改为“信息”或“详细”。

何时调用跟踪源的刷新。i、 e.ts.Flush()?自动刷新为真。我也尝试过手动冲洗,但也不起作用@Krishnasorry错过了-IISExpress用户是否有权访问此文件“C:\log\trace.log”?您也可以尝试使用更大的消息进行日志记录,我发现此链接似乎可以解释更多的相同之处。IISExpress在管理员用户中运行。我也看到了那个链接,但我看不到任何我还不知道的东西。你能具体说明你的意思吗@克里希纳
<system.diagnostics>
  <trace autoflush="true">
    <sources>
      <source name="TraceSource" switchName="Switch" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add type="System.Diagnostics.TextWriterTraceListener" name="TextWriter" initializeData="C:\log\trace.log" traceOutputOptions="ProcessId, DateTime, Callstack"/>
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="Switch" value="Warning"/>
    </switches>
  </trace>
</system.diagnostics>
ts = new TraceSource("TraceSource");
ts.TraceEvent(TraceEventType.Information, 0, "Authenticating as user: " + CredentialCache.DefaultCredentials.ToString()); Trace.Flush();