我正在尝试使用 java.utils.logging.. 我有这两个文件 MyLogger 和 UseLogger.MyLogger 使用文件处理程序设置记录器.. UseLogger 写入日志。这是两个文件..
package UtilsLogging;
import java.util.logging.Level;
import java.util.logging.Formatter;
import java.util.logging.SimpleFormatter;
import java.util.logging.Logger;
import java.util.logging.FileHandler;
import java.io.IOException;
/* Setting the logger up.
* Create logger,define its level.
* Create a file handler,mention the formatter,add handler to the logger
*/
public class MyLogger {
static private SimpleFormatter sf;
static private FileHandler txtLogFile;
public static void setup() throws IOException{
Logger logger = Logger.getLogger("");
logger.setLevel(Level.INFO);
sf = new SimpleFormatter();
txtLogFile = new FileHandler("mytxtlog.txt");
txtLogFile.setFormatter(sf);
logger.addHandler(txtLogFile);
}
}
和
package UtilsLogging;
import java.io.IOException;
import java.util.logging.Logger;
import java.util.logging.Level;
public class UseLogger {
private static final Logger lgr = Logger.getLogger(MyLogger.class.getName());
public void writeToLog(){
lgr.setLevel(Level.SEVERE);
lgr.info("info1");
lgr.setLevel(Level.INFO);
lgr.severe("severe2");
}
public static void main(String[] args){
UseLogger ul = new UseLogger();
try{
MyLogger.setup();
}
catch(IOException ie){
ie.printStackTrace();
}
ul.writeToLog();
}
}
我不明白的是……在调用 MyLogger.setup() 之后,我说 ul.writeToLog() 正在写入文件 mytxtlog.txt。我不是在两个文件中创建两个不同的记录器吗?UseLogger 中的记录器如何无法将自己与 MyLogger 中完成的记录器设置关联起来。Logger.GetLogger("") 是否必须对我的问题做些什么?我尝试阅读此内容,但我的问题仍未得到解答。