如何通过交换机配置消息过滤

发布于 2024-10-15 16:53:14 字数 1288 浏览 6 评论 0原文

这是我的代码

 public static TraceSource TS = new TraceSource("myTraceSrc", SourceLevels.All);
    static void Main(string[] args)
    {

        TS.TraceInformation("Hello Information Trace from Main");
        TS.TraceEvent(System.Diagnostics.TraceEventType.Error, 1, "Hello Error Trace from Main");

}

这是配置文件

<system.diagnostics>
    <trace autoflush="true" />
    <sources>
        <source name="myTraceSrc" switchName="switch1" >
            <listeners>
                <add type="System.Diagnostics.TextWriterTraceListener" name="myLocalListener" initializeData="c:\WasteBin\Test.Log"  />
                <add name="consoleListener" />
            </listeners>
        </source>
    </sources>
    <sharedListeners>
        <add type="System.Diagnostics.ConsoleTraceListener" name="consoleListener" traceOutputOptions="None" />
        <add type="System.Diagnostics.EventTypeFilter" name="EventListener" traceOutputOptions="None" />
    </sharedListeners>
    <switches>
        <add name="switch1" value="all"  />
    </switches>
</system.diagnostics>

我希望所有消息都转到控制台和文本文件,但只有错误应该转到事件日志。如何使用配置设置进行设置?

Here is my code

 public static TraceSource TS = new TraceSource("myTraceSrc", SourceLevels.All);
    static void Main(string[] args)
    {

        TS.TraceInformation("Hello Information Trace from Main");
        TS.TraceEvent(System.Diagnostics.TraceEventType.Error, 1, "Hello Error Trace from Main");

}

here is config file

<system.diagnostics>
    <trace autoflush="true" />
    <sources>
        <source name="myTraceSrc" switchName="switch1" >
            <listeners>
                <add type="System.Diagnostics.TextWriterTraceListener" name="myLocalListener" initializeData="c:\WasteBin\Test.Log"  />
                <add name="consoleListener" />
            </listeners>
        </source>
    </sources>
    <sharedListeners>
        <add type="System.Diagnostics.ConsoleTraceListener" name="consoleListener" traceOutputOptions="None" />
        <add type="System.Diagnostics.EventTypeFilter" name="EventListener" traceOutputOptions="None" />
    </sharedListeners>
    <switches>
        <add name="switch1" value="all"  />
    </switches>
</system.diagnostics>

I want all my messages to go to console and text file but only error should go to events log. How can I set it up using configuration settings?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幸福还没到 2024-10-22 16:53:14

尝试使用日志库(Nlog、log4net)来完成您的任务。他们有消息过滤和路由。

Try to use logging libraries (Nlog, log4net) for your tasks. They have message filtering and routing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文