7
Quiero un objetivo Nlog para dejar de escuchar en el registro. El método RemoveTarget no parece funcionar. Aquí hay una prueba fallida.¿Cómo puedo darme de baja un objetivo Nlog
public class when_stopping_to_listen
{
static Logger Logger;
static MemoryTarget target;
Establish context =() =>
{
var config = new LoggingConfiguration();
Logger = LogManager.GetLogger("TestLogger");
target = new MemoryTarget {Layout = "${message}", Name = "TestTarget"};
config.AddTarget(target.Name, target);
config.LoggingRules.Add(new LoggingRule("*", LogLevel.Trace, target));
LogManager.Configuration = config;
};
Because of =() =>
{
var config = LogManager.Configuration;
config.RemoveTarget(target.Name);
LogManager.Configuration = config;
Logger.Info("Test");
};
It should_be_empty =() => target.Logs.ShouldBeEmpty();
}
Gracias de antemano.
por lo que es todo acerca de las reglas? – forki23
Parece que sí ... A partir de código fuente de la Nlog parece una vez que se ha inicializado las reglas con los objetivos que no utiliza la colección 'LogManager.Configuration.ConfiguredNamedTargets' más. Es por eso que 'RemoveTarget' no está funcionando. – nemesv