是否有一种很好的方法可以从一个类中分解日志?
我唯一知道的是,如果日志记录发生在methodA
的开头/结尾,您可以将日志记录纳入intermediare方法methodIntermediate
,然后调用methodA
来自methodIntermediate
。在类级别,您可以使用decorator并在装饰器中进行所有日志记录。但这对方法中间的日志记录没有帮助。
我认为让一个包含大量日志记录的类散布是很难看的。
答案 0 :(得分:1)
我没有看到记录信息的任何方法,关于在实际发生的方法中发生的事情,无论好坏。但是你不需要在那里登录。我喜欢的另一种选择是简单地记录消息,然后再生成日志。
public class LogsAreBad {
private String msg = "";
// helper method which is never called directly
private void helper() {
boolean result = doSomething();
if (!result) {
msg += "something went wrong in helper();";
}
}
private void resetLog() {
msg = "";
}
public int method() {
resetLog();
helper();
msg += "Someone accessed method()";
logger.log(msg);
}
}