【问题标题】:Where should a logger(log4j) be initialized in a servlet?在 servlet 中应该在哪里初始化 logger(log4j)?
【发布时间】:2013-01-25 06:09:10
【问题描述】:

我正在 servlet 的构造函数中初始化记录器。这是一个好习惯吗?我应该在 servletContextListener 中初始化它吗?

示例代码:

public class MyService{
Logger logger;

 public MyService(){
   logger = Logger.getLogger(MyService.class);
 }

}

【问题讨论】:

标签: java log4j jersey


【解决方案1】:

通过将记录器声明为静态来将其用作类级别成员

Initialize it properly

Little How-to

private static final Logger logger = Logger.getLogger(*<yourclass>*.class)

【讨论】:

  • @user1348308 即使使用不同的日志框架,您也应该遵循此建议。 (当然有一些例外情况。)
【解决方案2】:

我认为您是在谈论初始化 log4j 日志系统,而不是特定的记录器。

使用servletContextListener优于servlet的构造函数。

【讨论】:

    猜你喜欢
    • 2016-03-26
    • 1970-01-01
    • 2021-01-29
    • 2011-02-12
    • 1970-01-01
    • 2011-11-04
    • 2012-11-09
    • 1970-01-01
    • 2014-04-27
    相关资源
    最近更新 更多