在postsharp中将日志写入文件而不是控制台

时间:2014-06-14 06:39:32

标签: file logging postsharp

我知道这个问题可能很荒谬,但我找不到答案。 Post sharp通过System.Diagnostics将日志写入控制台,但我需要将日志写入单独的文件中。有没有办法这样做?

提前致谢

2 个答案:

答案 0 :(得分:2)

我发现我也可以在app.config中执行以下操作:

<system.diagnostics>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\\log.txt" />
        <remove name="Default" />
      </listeners>
    </trace>
  </system.diagnostics>

答案 1 :(得分:0)

您需要使用System.Diagnostics.Trace.Listeners属性来注册您自己的侦听器。您需要在应用的入口点中使用这样的代码:

using (StreamWriter sw = new StreamWriter("file.txt"))
using (TextWriterTraceListener tl = new TextWriterTraceListener(sw))
{
    Trace.Listeners.Add(tl);

    try
    {
        // execute your program here
    }
    finally
    {
        Trace.Listeners.Remove(tl);
    }
}