我找到了在线here使用java.util.logging的这个例子。我不明白如何修改它以跨多个类使用样本
我是否只是在每节课中宣布这一点?
Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);
同样在类中,他们提供了语法错误:
// suppress the logging output to the console
Logger rootLogger = Logger.*getLogger*("");
到达根记录器的正确方法是什么?
package com.vogella.logger;
import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Formatter;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
public class MyLogger {
static private FileHandler fileTxt;
static private SimpleFormatter formatterTxt;
static private FileHandler fileHTML;
static private Formatter formatterHTML;
static public void setup() throws IOException {
// get the global logger to configure it
Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);
// suppress the logging output to the console
Logger rootLogger = Logger.*getLogger*("");
Handler[] handlers = rootLogger.getHandlers();
if (handlers[0] instanceof ConsoleHandler) {
rootLogger.removeHandler(handlers[0]);
}
logger.setLevel(Level.INFO);
fileTxt = new FileHandler("Logging.txt");
fileHTML = new FileHandler("Logging.html");
// create a TXT formatter
formatterTxt = new SimpleFormatter();
fileTxt.setFormatter(formatterTxt);
logger.addHandler(fileTxt);
// create an HTML formatter
formatterHTML = new MyHtmlFormatter();
fileHTML.setFormatter(formatterHTML);
logger.addHandler(fileHTML);
}
}
答案 0 :(得分:2)
是即可。使用链接的Javadoc中所述的GLOBAL_LOGGER_NAME也可以使用每个类的全局记录器进行日志记录。虽然它的用处并不多,因为它是一个默认的java logger。
GLOBAL_LOGGER_NAME
是全局记录器的名称。这个名字是 为随意使用的开发人员提供便利 记录包....获取全局记录器对象的首选方法是通过调用
Logger.getLogger(Logger.GLOBAL_LOGGER_NAME)
。
它也是旧版jdk的Logger.getGlobal()
的替代版本。
要配置根记录器使用: -
Logger logger = Logger.getLogger("");