【问题标题】:IIS run-time loggingIIS 运行时日志记录
【发布时间】:2017-12-18 15:44:57
【问题描述】:

我从头开始了一个新的 MVC4 Web 应用程序。

我将两行代码添加到“关于”控制器中。

System.Diagnostics.Debug.WriteLine("HELLO WORLD - debug");
System.Diagnostics.Trace.WriteLine("HELLO WORLD - trace");

我在 VS/Express 中运行该站点并点击“关于”页面。 在运行时输出(Ctrl-Alt-O)/调试窗口中,我看到我的代码行正常工作。

接下来关闭 VS,我在真实 IIS 中启动该站点并点击“关于”页面。

我在哪里可以找到诊断输出? 因为它不在 inetpub/logs 或事件查看器中。

我在其他地方发布了这个问题的更广泛的版本。一旦我得到这个答案的底部,我将删除这两个中的一个。

【问题讨论】:

  • 在 web.config 的 <system.diagnostics> 部分设置适当的跟踪侦听器。
  • @Cory 我等了好几年才找到你。那行得通。
  • 如果您想要真正推荐日志记录解决方案,请查看SerilogSEQ。我们的开发人员对此欣喜若狂。比 IIS 中的跟踪日志更容易配置,也更有用。

标签: asp.net asp.net-mvc-4 iis


【解决方案1】:

-- web.config 我将它添加到末尾/就在 /configuration 中。 & 如图所示,指定文件被创建并写入到 Web 应用程序的根目录中---

  <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>  

在您的代码中。这三个中的任何一个都将记录到指定的文件中。 但你必须...Trace.Flush()。autoflush=true 似乎没有改变任何帮助。

System.Diagnostics.Debug.WriteLine("HELLO WORLD ~ debug");
//System.Diagnostics.Trace.WriteLine("HELLO WORLD ~ trace");
//System.Diagnostics.Trace.TraceInformation("HELLO WORLD ~ traceInfo");
System.Diagnostics.Trace.Flush();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    相关资源
    最近更新 更多