Я не знаю, почему RemoveTarget
не работает. Но если вы удаляете цель из каждого правила, тест проходит:
Because of = () =>
{
foreach (var rule in config.LoggingRules)
{
rule.Targets.Remove(target);
}
Logger.Info("Test");
};
И если вы удалите LoggingRule
вместо цели, это также сработает:
public class when_stopping_to_listen
{
//...
static LoggingRule rule;
Establish context = () =>
{
//...
rule = new LoggingRule("*", LogLevel.Trace, target);
config.LoggingRules.Add(rule);
LogManager.Configuration = config;
};
Because of = () =>
{
var config = LogManager.Configuration;
config.LoggingRules.Remove(rule);
LogManager.Configuration = config;
Logger.Info("Test");
};
//...
}