¿Existe la posibilidad de filtrar entradas de registro de un hilo específico?log4net - confgure para ignorar mensajes de un hilo específico
utilizo nunit para la ejecución de pruebas (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");
}
}
}
Este es el registro de recibo:
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
log4net me envía un correo electrónico cada vez que se registra un error. Si ejecuto la prueba, no quiero recibir esos correos. nunit establece el nombre del hilo en: "TestRunnerThread". ¿Cómo puedo ignorar este hilo?
He leído esto: How to log into separate files per thread with Log4Net? y trató este filtro (y tengo ningún registro en absoluto):
<filter type="log4net.Filter.PropertyFilter">
<key value="threadId" />
<stringToMatch value="TestRunnerThread" />
<acceptOnMatch value="false" />
</filter>
¿Por qué no se configura otro conjunto de appenders en el entorno de pruebas? –
El método que está intentando requiere más que configurar threadName en TestRunnerThread, pero también requiere algo para establecer la propiedad log4net, por ejemplo 'log4net.ThreadContext.Properties [" threadId "] =" TestRunnerThread ";' y es poco probable que Nunit lo haga. estar haciendo eso. – sgmoore
@WiktorZychla: Esta será una autocomprobación del programa. Algunas de las pruebas verifican si la configuración es correcta. Tanto la configuración específica del programa como log4net-config están en el mismo archivo (app.config). Intentaré desactivar los appenders dinámicamente en _self-test-mode_. – dirk