Ich möchte meine Anwendung, die aus mehreren Klassen bestehen, anmelden. Ich hätte gerne eine .txt Protokolldatei am Ende. Daher mache ich eine statische Logger-Instanz und habe dafür einen FileHandler in einer Klasse erstellt. Weil ich gerne eine Datei hätte, setze ich das zweite Argument für true im FileHandler, um die Protokolldatei während der Protokollierung anhängen zu können.Java Logging durch mehrere Klassen
public class MyLogging {
static Logger logger;
public Handler fileHandler;
Formatter plainText;
public MyLogging() throws IOException{
//instance the logger
logger = Logger.getLogger(MyLogging.class.getName());
//instance the filehandler
fileHandler = new FileHandler("myLog.txt",true);
//instance formatter, set formatting, and handler
plainText = new SimpleFormatter();
fileHandler.setFormatter(plainText);
logger.addHandler(fileHandler);
}
Danach habe ich die anderen Logger erstellt. Ich weiß, dass ich einen Logger pro Klasse instanziieren muss. Daher mache ich nur den Logger (ohne FileHandler) für jede Klasse. Aber alle Logger referenzieren für eine Klasse (nicht für die Klasse, in der ich den Logger erstellt habe). Zum Beispiel:
public class Test1 {
static Logger logger;
public Test1()throws IOException {
logger = Logger.getLogger(MyLogging.class.getName());
}
Obwohl die Protokollierung durchgeführt wurde, bin ich mir nicht sicher, dass dies die richtige Lösung ist. Können Sie mir einige Ratschläge geben, wie Sie mit der Datei java.util.logging mehrere Klassen durchloggen können?
Ich bin verwirrt. Sie sollten eine Protokolldatei am Ende haben, ohne nur eine Logger-Instanz zu verwenden. –