Zeigt einen detaillierten Fehler in Logger an, wenn Java auf dem Server ausgeführt wird

Symptome

Bei "Auf Server ausführen [^ 1]" und bei Verwendung von "Logger" zur Ausgabe an die Konsole wurde die Ebene "Konfiguration" und darunter nicht angezeigt.

Fazit

Umgebung

Eclipse 2019-03 (4.11.0) Tomcat 9 Java 11 macOS 10.13.6

Kommentar

Es scheint einige Konfigurationsdateien zu geben, die an die Konsole ausgegeben werden können. Artikel [1] Ich konnte es lösen, aber da ich es durch Überschreiben von "Formatierer" verwendet habe, ist es schwierig, die Einstellungsdatei zu verwenden. .. Daher habe ich die Ausgabe an die Konsole und die Ausgabe in eine Datei aufgegeben.

Seien Sie vorsichtig, wenn Sie eine Protokolldatei mit einem relativen Pfad [[2]] angeben (https://qiita.com/milmilk/private/99102afbb678b8e82c4c).

Es scheint, dass der Standardwert von "setLevel ()" in "Logger" "Level.INFO" (Information) ist. Lassen Sie es uns richtig einstellen.

Quellcode

Log.java


public class Log {
	private static final String DEBUG_FILE = "log/test.log";
	private static final Level DEBUG_LEVEL = Level.FINER;
	public static final Logger logger = Logger.getLogger("Test");

	public Log() throws SecurityException, IOException {
		
		logger.setLevel(Level.ALL);

		FileHandler debugHandler = new FileHandler(DEBUG_FILE, APPEND);
		debugHandler.setLevel(DEBUG_LEVEL);
		debugHandler.setFormatter(new MyFormatter());
		logger.addHandler(debugHandler);

		logger.setUseParentHandlers(false);

		test();
	}

	private static void test() {
		File file = new File(DEBUG_FILE);
        if (file.exists()) {
            System.out.println("logfile: " + file.getAbsolutePath());
        } else {
            System.out.println("logfile is not exist");
        }
		logger.finest("log test: FINEST");
		logger.finer("log test: FINER");
		logger.fine("log test: FINE");
		logger.config("log test: CONFIG");
		logger.info("log test: INFO");
		logger.warning("log test: WARNING");
		logger.severe("log test: SEVERE");
	}
}

Übrigens ist die MyFormatter-Klasse eine selbst erstellte Klasse, die java.util.logging.Formatter erbt.

Wie benutzt man

new Log();

Initialisieren Sie mit und wo Sie das Protokoll ausgeben möchten

Log.logger.fine("Nachricht protokollieren");

Ich mache.

Referenz

[1] Tomcat, Eclipse und Protokolle https://qiita.com/utisam/items/e725ccff4062f3078ad9 [2] Relativer Pfad beim Ausführen von Tomcat unter Eclipse https://qiita.com/milmilk/private/99102afbb678b8e82c4c [3] [Einführung in Java] Verwendung von Logger (Erläuterung der Einstellungen für Protokollstufe und Ausgabeziel) https://www.sejuku.net/blog/61048 [4] Verwendung von java.util.logging https://qiita.com/Qui/items/40077ce9e33738dd3914

[^ 1]: Eclipse + Tomcat-App https://searchman.info/java_eclipse/1100.html

Recommended Posts

Zeigt einen detaillierten Fehler in Logger an, wenn Java auf dem Server ausgeführt wird
Beheben Sie den CreateProcess-Fehler = 206, wenn Sie Java in einer Windows-Umgebung ausführen
Fehler bei der Bundle-Installation beim Ausführen neuer Schienen
Was ich beim Erstellen eines Servers in Java gelernt habe
Fehler beim Spielen mit Java
Ein Fehler tritt auf, wenn codedeploy-agent in Ubuntu Server 20.04 installiert ist
Fehler beim Finden des Symbols bei neuer Klasse in einer anderen Java-Datei
Abhilfe für "Ein Server läuft bereits." Fehler beim Ausführen von Rails s
Vermeiden Sie Zeichencodefehler in Java, wenn Sie die VScode-Erweiterung RUN-CODE verwenden
So beheben Sie den unbekannten Fehler, der bei der Verwendung von slf4j in Java aufgetreten ist
Untersuchungsmethode, wenn die CPU des Servers, auf dem Java ausgeführt wird, schwer ist
Fehler beim Bereitstellen von EC2 mit CircleCI
Versuchen Sie, Selenuim 3.141.59 mit Eclipse (Java) auszuführen.
Hinweise zur Signalsteuerung in Java
Vermeiden Sie Java-Codierungsfehler, die beim Ausführen von FitGen.exe unter japanischem Windows auftreten
Bei der Suche nach mehreren in einem Java-Array
Kick ShellScript auf dem Server von Java
Fehler bei der Implementierung bei der Implementierung der Spring-Validierung
Relativer Pfad beim Ausführen von Tomcat unter Eclipse
Abrufen des Verlaufs vom Zabbix-Server in Java
Erstellen von Java-Webanwendungen unter Windows Server 2016
Erstellen Sie einen Webanwendungsserver (Java) auf VPS
Platzieren Sie das Java-Projekt mithilfe der Datenbank auf dem bisher in VPS erstellten Server
407 Fehler beim Versuch, über einen authentifizierten Proxy in Java auf die HTTPS-Site zuzugreifen
Bei Verwendung einer Liste in Java wird java.awt.List ausgegeben und ein Fehler tritt auf
Erstellen wir eine TODO-Anwendung mit Java 12-Verarbeitung, wenn eine Anforderung mit einer nicht verwendeten HttpMethod eingeht. ・ Verarbeitung, wenn ein Fehler auf dem Server auftritt