我正在servlet的構造函數中初始化記錄器。這是一個好習慣嗎?我應該在ServletContextListener中初始化它嗎?一個記錄器(log4j)應該在servlet中初始化的位置?
示例代碼:
public class MyService{
Logger logger;
public MyService(){
logger = Logger.getLogger(MyService.class);
}
}
我正在servlet的構造函數中初始化記錄器。這是一個好習慣嗎?我應該在ServletContextListener中初始化它嗎?一個記錄器(log4j)應該在servlet中初始化的位置?
示例代碼:
public class MyService{
Logger logger;
public MyService(){
logger = Logger.getLogger(MyService.class);
}
}
我認爲你是在談論初始化log4j的日誌記錄系統,而不是一個具體的記錄。
使用servletContextListener比servlet的構造函數更好。
被聲明爲靜態的使用記錄作爲類級別成員
private static final Logger logger = Logger.getLogger(*<yourclass>*.class)
@ user1348308即使使用不同的日誌記錄框架,也應遵循此建議。 (當然有些例外可能適用。) –
在看一看:http://stackoverflow.com/問題/ 3842823/should-logger-be-private-static-or-not – condit