小编dir*_*irk的帖子

log4net - 配置忽略来自特定线程的消息

是否有可能从特定线程中过滤掉日志条目?

我使用nunit来运行测试(c#):

using System;
using NUnit.Core;
using log4net;

namespace Main
{
    public class Program
    {
        public static readonly ILogger log = LogManager.GetLogger(typeof(Program));

        static void Main(string[] args)
        {
            log.Info("start");

            TestPackage package = new TestPackage(@"C:\Test\Main.Tests.dll");
            RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
            remoteTestRunner.Load(package);
            TestResult result = remoteTestRunner.Run(new NullListener(), TestFilter.Empty, true, LoggingThreshold.All);

            log.Info("end");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的日志记录:

INFO  17:57:24 [1] Main.Program - start
ERROR 17:57:25 [TestRunnerThread] Main.TestedClass - Exception! Relevant for production / okay in test
INFO  17:57:26 [1] Main.Program - end
Run Code Online (Sandbox Code Playgroud)

每次记录ERROR时,log4net都会向我发送邮件.如果我运行测试,我不想收到那些邮件.nunit将thread-name设置为:"TestRunnerThread".我怎么能忽略这个帖子?

我读过这个:如何使用Log4Net登录每个线程的单独文件? …

c# logging log4net nunit log4net-filter

5
推荐指数
1
解决办法
1081
查看次数

标签 统计

c# ×1

log4net ×1

log4net-filter ×1

logging ×1

nunit ×1