Я использую 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
возникает ошибка, которая сообщает мне номер строки этого журнала.Это напечатает номер строки метода searcherror()
в MyLogger
, а не фактическую строку, когда я вызываю Mylogger.serach("xxxxx")
, я не знаю, как это исправить.Есть предложения?