1
我正在使用log4j來記錄我的程序日誌。該代碼是這樣的:向某個庫的類對象添加方法
static Logger logger = Logger.getLogger(MyClassName.class);
logger.error("This is error message");
然而,而是採用error()
,我要實現我自己的錯誤方法,添加一些額外的信息,例如
logger.searcherror("This is error message")
void searcherror(String mes){
logger.error("[search] "+mes)
}
我實現了這個用代理模式:
class Mylogger{
private Logger logger = null;
public MyLogger (Logger logger){
this.logger = logger;
}
public void searcherror(String msg){
logger.error("[search]"+msg);
}
}
使用MyLogger
當我通過設置appender layout: %l
,還告訴我這個日誌的行號打印日誌時,有是一個錯誤。這將在MyLogger
中打印searcherror()
方法的行號,而不是當我撥打Mylogger.serach("xxxxx")
時的實際行,我不怎麼解決它。有什麼建議麼?