在我的项目中,每个类都有日志消息,如
Logger.getLogger(" LoggingExample.class")。info("记录INFO级别的消息");
答案 0 :(得分:0)
您不需要每次都创建记录器。由于java.util.Logger是线程安全的,所以只声明一次并且每次都使用它是可行的。以下是一个例子:
private static final Logger myLog = Logger.getLogger("loggerName");
myLog .warn("Text");
最佳做法是每个班级使用一个记录器。如果它不涉及更多的努力,我建议使用log4j
框架。
答案 1 :(得分:0)
您需要将strong reference保留在记录器中,这样您就不会丢失配置更改。以下是取自Java Logging Overview:
的修改示例public class Nose {
// Obtain a suitable logger.
private static final String CLASS_NAME = Nose.class.getName();
private static final Logger logger = Logger.getLogger(CLASS_NAME);
public static void main(String argv[]) {
// Log a FINE tracing message
logger.fine("doing stuff");
try{
Wombat.sneeze();
} catch (Exception ex) {
// Log the exception
logger.log(Level.WARNING, "trouble sneezing", ex);
}
logger.fine("done");
}
}
如果要使用自定义配置文件,可以指定“java.util.logging.config.file”系统属性以指向属性文件的路径。这在LogManager文档中有详细解释。