在log4net中,是否可以按名称而不是仅按级别将记录器静音?

in log4net, is it possible to mute loggers by name rather than by level only?

我正在使用一些同事生成的DLL构建一个新的C#项目。
他们在各个级别都有log4net语句,弹出的数量如此之多,以至于我的日志在大众中几乎不可见...

在log4net中,是否可以按名称而不是仅按级别将记录器静音?
甚至更好的名称(按程序集名称)?我想使我使用的DLL中的日志静音...

谢谢大家的提示!


应该在配置文件中添加一个部分,例如

1
2
3
 <logger name="xxx" additivity="false">
     <level value="OFF" />
 </logger>

如果日志记录使用的是标准约定,即

1
internal static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

然后您需要替换xxx可以是您要禁用的名称空间或名称空间的一部分。

如果您的同事使用的名称空间名称与您使用的名称空间名称完全相同,那么您可能需要将xxx替换为实际的类名称,这可能意味着您最终在配置文件中输入了大量条目以禁用以下命令的日志记录他们每个班级。