用户定义的记录器

时间:2011-11-30 09:02:43

标签: java log4j

我对Log4j很新。我对根记录器和用户定义的记录器有几个问题。

  1. 我们应该在什么基础上创建用户定义的记录器(特定于项目或特定于类或其他任何东西)?

  2. 何时创建根记录器?

2 个答案:

答案 0 :(得分:2)

  1. 按照你的心意。通常的做法是每个类创建一个记录器,摘录如下:

    Logger l = Logger.getLogger(getClass());
    

    您无需担心它会创建太多的记录器,log4j每个名称只会创建一个。

  2. 根记录器始终由log4j创建。

答案 1 :(得分:0)

如果您想要:

,则应创建用户定义的记录器
  • 来自根记录器的不同“可加性”级别(真/假)
  • 不同的日志记录级别(DEBUG,ERROR,...)
  • 不同的appender

    <logger name="my.package.Class" additivity="false">
    <level value="DEBUG"/>
    <appender-ref ref="MYAPPENDER"/>
    

我这样使用它:

private static Logger log = Logger.getLogger(YourClass.class);

如果您只想要一个简单的日志记录系统,可以使用根记录器。