我们使用的代码类似于Log logger = LogFactory.getLog(MyCurrentClass.class);
我们的 Web 层(Struts2 Actions 或 JSF Backing Beans)以及我们的 EJB 3 Session Beans。
然后,我们主要记录错误和警告,但也记录有用的信息(例如计划作业的开始和结束、用户登录、某些用户操作以查看他们在错误发生之前正在做什么等)。
您还可能希望在logger.debug("Debug message")
启用日志记录框架以接受这些信息时记录更多信息(在 Log4J 中,您可以将阈值设置为 DEBUG 或更低,这可以在运行时完成)。如果首先需要提取/组装调试消息等,这对于您不需要它的常见情况来说可能过于昂贵,您可以先检查logger.isDebugEnabled()
.
通常,每个记录器都会获得一个您提供给 LogFactory.getLog() 方法的名称,可以作为字符串或类。这使您可以为每个记录器或组设置不同的设置。
例如,如果您有一个记录器my.package.MyClass
并使用带有包的库,org.library.*
您可以配置日志框架以启用调试消息my.package.*
但不启用org.library.*
. 通过这种方式,您可以过滤消息以获得更小/更易读的日志。