在使用log4net时,是否有任何方法可以根据日志消息的级别进行不同的布局?比如说,如果这是一个致命错误,我希望看到所有可能的信息——类名、方法名、行号等。但对于正常、调试和警告,我只希望看到消息(我希望这能提高性能)。
我在C#WinForms中使用log4net。我的要求是,当发生致命错误时,将之前的512条消息记录到一个文件中,并且我只想看到致命错误的类名、方法名、行号等,对于所有其他级别,只想看到一条消息。
在使用log4net时,是否有任何方法可以根据日志消息的级别进行不同的布局?比如说,如果这是一个致命错误,我希望看到所有可能的信息——类名、方法名、行号等。但对于正常、调试和警告,我只希望看到消息(我希望这能提高性能)。
我在C#WinForms中使用log4net。我的要求是,当发生致命错误时,将之前的512条消息记录到一个文件中,并且我只想看到致命错误的类名、方法名、行号等,对于所有其他级别,只想看到一条消息。
我认为您正在寻找LevelRangeFilter和两个附加器的组合。一个用于FATAL级别的appender/filter组合(致命为最小值和最大值),一个用于其他级别的appeller/filter组(ERROR或INFO为最大值,具体取决于您是否希望包含用于调试的错误)
您可以为每个“级别”使用不同的Appender,并使它们相同,但用于图案布局。