log4 net多个记录器与应用程序中的单个记录器?

时间:2017-05-21 20:28:09

标签: c# logging log4net log4net-configuration log4net-appender

我们有几个不同模块的c#应用程序。我们使用log4net进行日志记录。记录消息应该怎么做:

  1. 创建集中式日志记录项目:应用程序类使用集中式日志记录项目的dll静态方法来记录消息。因此,应用程序中没有类创建记录器,所有日志记录要求都要由此dll OR
  2. 来实现
  3. 应用程序本身中的所有类型都创建自己的记录器:易于检查哪种类型生成哪条消息,易于管理不同类型的日志记录要求可以独立地限制每种类型的日志记录行为,例如一个类记录所有日志但其他类只有loggin ERROR。
  4. 首选做法是什么?

    approach2有自己的好处,但approach1看起来很干净,因为每个类都不再负责调用" GetLogger(typeOf(className))"。

    推荐的方式是什么?

1 个答案:

答案 0 :(得分:1)

这实际上取决于用例,在创建库时,使用方法1是有意义的。但是,当制作复杂的程序时,方法2将帮助您独立管理不同的记录器。方法2还提供了像方法1那样记录项目中所有项目的选项。但是方法1不支持记录器的不同。因此,在大多数情况下,方法2似乎是更好的选择