Я хотел бы настроить фильтры в моем файле nlog.config таким образом, чтобы запись журнала шла в один файл (определенный целевым файлом domainTarget
), если сообщение содержит подстроку, и в другой файл (определенный посредствомцелевой файл technicalTarget
), если это не так.
Другими словами: все, что включено в domainTarget
(независимо от сложности его правил), никогда не должно отображаться в technicalTarget
.
Вот что я попробовал:
<rules>
<logger name="*" minlevel="Trace" writeTo="domainTarget">
<filters>
<when condition="contains('${message}', 'mysubstring')" action="LogFinal"/>
</filters>
</logger>
<logger name="*" minlevel="Trace" writeTo="technicalTarget"/>
</rules>
С этими настройками он записывает все в domainTarget
.А также записывает все в technicalTarget
, за исключением сообщений с подстрокой.
Может кто-нибудь
- Объяснить алгоритм, как применяются эти фильтры.
- Покажите мне правильные настройки фильтра для достижения моей цели.