我目前在Log4J中使用SocketAppender
并且遇到了将数据传递到远程主机的一些问题,特别是在丢失LocationInfo
(类名,行号等)时。我所做的是以下内容:
import org.apache.commons.logging.impl.Log4JLogger;
public class MyLogger extends Log4JLogger
{
...
public void debug(Object message)
{
String extra = "Extra!";
super.debug(message + extra);
}
...
}
在运行时,如何更改以下代码以抓取MyLogger
而不是Log4JLogger
?
private static Log logger = LogFactory.getLog(Test.class);
答案 0 :(得分:1)
您不必扩展Logger,而是实现自己的Appender或扩展您需要的基本Log4J Appender。 例如,您可以扩展AppenderSkeleton。
我无法想象为什么你需要它。另一种可能是使用Log4J Mapped Diagnostic Context。