I want to add the rule in my NLog. The rule is:
<rules>
<logger name="*" writeTo="file">
<filters>
<when condition="length(message) > 100" action="Ignore" />
<when condition="equals('${logger}','MyApps.SomeClass')" action="Ignore" />
<when condition="(level >= LogLevel.Debug and contains(message,'PleaseDontLogThis')) or level==LogLevel.Warn" action="Ignore" />
<when condition="not starts-with('${message}','PleaseLogThis')" action="Ignore" />
</filters>
</logger>
Now I want to implement it in C# code. I haven't found the sample code online.
I would take a look a look at the Configuration API documentation for NLog. While it doesn't specifically reference filters, it seems like the way to accomplish this programmatically is by using
LoggingRules
to control how log messages are processed.Edit
Like I said, the Configuration API is the way to achieve this. This example will replicate the following config programmatically:
Config
Code