目前,我正在为我的应用程序开发log4j。我对日志有一个特殊的要求。我需要为特定的调用层次结构定义一个记录器。这意味着,特定调用层次结构的所有日志消息都应该传递给特定的访问方。
示例
AddFormAction(method1)
EditFormAction(method2)
DeleteFormAction(Method3)
我想为特定的调用层次结构1-4-5定义一个记录器。这些消息应该转到addform.log。
我不希望2-4-5或3-4-5调用层次结构的消息转到addform.log。
希望我能明白我的要求。任何帮助都是非常感谢的。谢谢您的答复。
发布于 2010-03-25 12:16:34
我对log4j不太了解,但对于AspectJ来说,这听起来是个完美的案例。
发布于 2010-03-25 12:23:48
一种方法是使用注入将依赖项提供给它们的记录器实例。
public bool addFormAction( .... form data .... ) {
Logger logger = LogManager.getLogger( "AddFormLogger" );
FormBusinessObject form = new FormBusinessObject( logger );
form.setProperty1( parameter1 );
form.save();
}..。
public class FormBusinessObject
{
private Logger logger;
public FormBusinessObject() {
logger = LogManager.GetLogger( "DefaultLogger" );
}
public FormBusinessObject( Logger logger ) {
logger = logger;
}
...
public void save() {
logger.info( "Saving form" );
...
}
}https://stackoverflow.com/questions/2515297
复制相似问题