gpt4 book ai didi

java - 向某些库的类对象添加方法

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:17 26 4
gpt4 key购买 nike

我正在使用 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);
}
}

当我通过设置appender布局:%l打印日志时,使用MyLogger时出现错误,它告诉我该日志的行号。这将打印 MyLoggersearcherror() 方法的行号,而不是我调用 Mylogger.serach("xxxxx") 时的实际行号,我不知道如何修复它。有什么建议吗?

最佳答案

您不应向记录器本身添加功能。相反,实现您的自定义(甚至配置一种现有布局)。

看看这个文档:http://logging.apache.org/log4j/1.2/manual.html

关于java - 向某些库的类对象添加方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9873215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com