Input/Output Jave.utill.logging ohne Default-Locale also in Englisch

Senftube

Aktives Mitglied
Hallo !
Wie kann ich die Ausgabe der Severity-Namen in Englisch (Severe,Warning,..Finest) erhalten
anstelle der aktuellen Locale-Einstellung DE: SCHWERWIEGEND, usw. Schließlich verwende ich nicht die logrb() Funktionen um mithilfe ResourecBundles sprach-spezifische Ausgane zu machen. Ich vermute ja mal, dass Programmierer die Texte in englischer Sprache verfassen, damit es auch Programmierer in anderen Ländern -im Falle eines SW-Supports- verstehen können. Als Workaround setze ich die Locale vor dem
Laden der logging.properties Datei auf English, aber aber keine Ahnung welche side-effects ich
mir dafür einkaufe.
Gibt es bessere Lösungen ? Evtl. eine Locale-Property für die logging.properties ?
(Aber bitte keine Vorschläge einen 3rd-Party Logger zu verwenden...)

public static void main(String[] args)
{
final String fn = "main";
//-------load the appl. logging.properties
String logcfg="etc\\logging_jultest.properties";
Locale.setDefault(Locale.ENGLISH);

System.setProperty("java.util.logging.config.file",logcfg);
try
{ LogManager.getLogManager().readConfiguration(
new FileInputStream(System.getProperty("java.util.logging.config.file")));
} catch (Exception e)
{
logger.logp(Level.SEVERE,cn,fn,e,()->"LogManager.readConfiguration() failed: "+logcfg);
}
logger.severe("severe test message");
// [13:41:35.785];[SEVERE ];JulTest main;severe test message
 

Senftube

Aktives Mitglied
Hallo Flown,
der Link war sehr gut. Ich mach mir meine eigene Level Klasse und definiere dann
ein paar Konstanten..das wars. Vielleicht gibts auch in der JRE ein editierbares ResourceBundle mit
den Namen..aber das muesste ich ja bei jeder neuen JRE nachziehen.

public class Level extends java.util.logging.Level {
private static final long serialVersionUID = -1283674772992561191L;

public static final Level OFF = new Level("OFF", Integer.MAX_VALUE);
public static final Level SEVERE = new Level("SEVERE", 1000);
public static final Level WARNING = new Level("WARNING", 900);
public static final Level INFO = new Level("INFO", 800);
public static final Level CONFIG = new Level("CONFIG", 700);
public static final Level FINE = new Level("FINE", 500);
public static final Level FINER = new Level("FINER", 400);
public static final Level FINEST = new Level("FINEST", 300);
public static final Level ALL = new Level("ALL", Integer.MIN_VALUE);

protected Level(String name, int value) {
super(name, value);
}
}
 

Senftube

Aktives Mitglied
Dieses Posting ist nur zur Info, falls da mal jemand rein stolpert und sich zu früh freut...

Das folgende ist ja auch auf stackoverflow nie hochgepoppt, dass das nix bringt...
Ja, die Idee war erstmal vielversprechend, einfach eine eigene Level Klasse von der
Orschinal Level Klasse abzuleiten (Danke nochmal an Flown)
Der, die Haken sind:
1) Man darf nicht mehr import java.util.logging.Level; verwenden
Blöd zu finden wenn man irgendwo in Klassen java.util.logging/* verwendet hat
Sondern die eigene Level Klasse im package wird ja automatisch gefunden
2) Alle verwenden Klassen oder jar-Files dürfen dann auch nicht mehr java.util.logging.Level
importieren sondern die abgeleitete Level Klasse
3) 3rd Party Jars die JUL verwenden, werden deine Klasse Level ja nie zu Gesicht bekommen
und rumpeln weiter mit dem Sauerkraut-Locale Monsters SCHWERWIEGEND und KONFIGURATION
4) 1) bis 3) war ja nur nice-to-know aber jetzt das absolute #NOGO Die eigene Levelklasse wirkt sich nur auf funktion aus, die expliziet das Level als argument entgegen nehmen, also tabu für logger.severe() und Konsorten.
Denke mal das eher die user-convienient funktionen severe(, warning(), info() usw. verwendet werden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
topi Sprungmarken in Jave ? Allgemeine Java-Themen 5
E Rückgabewert von Jave in Bash - Script Allgemeine Java-Themen 4
P Jave Heap Size und ObjectStreams.ein java bug ? Allgemeine Java-Themen 5
8u3631984 Strukturiertes Logging : Jedes Feld in eine seperate Zeile - aber wie ? Allgemeine Java-Themen 2
T Logging mit org.apache.logging.log4j Allgemeine Java-Themen 1
MiMa Logging mit log4j2 in verschiedene Dateien? Allgemeine Java-Themen 22
A Automatisches Methoden Laufzeiten logging? Allgemeine Java-Themen 7
M JVM: Client Software Logging und Profiling aktivieren Allgemeine Java-Themen 1
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
P Logging levels Allgemeine Java-Themen 2
X Logging Messages - mehr Details? Allgemeine Java-Themen 4
F Error Logging - best practices? Allgemeine Java-Themen 3
L util.logging Log Rotation Allgemeine Java-Themen 3
W Java Logging Problem Allgemeine Java-Themen 3
H java.util.logging Formatter Optionen setzen Allgemeine Java-Themen 2
D Logging XMLFormatter Allgemeine Java-Themen 3
B OOP java.util.logging.Logger: Wie kann ich mehre Klassen in ein Logfile schreiben lassen? Allgemeine Java-Themen 12
D Technologiefragen, logging, JMX Allgemeine Java-Themen 3
S Tomcat java.util.logging - keine Logs Allgemeine Java-Themen 12
J Logging mehrerer Methoden Allgemeine Java-Themen 21
S log4j - doppeltes Logging Allgemeine Java-Themen 4
B Logging von Exceptions Allgemeine Java-Themen 7
S log4j Logging über mehrere Klassen Allgemeine Java-Themen 13
P SLF4J Logging Level einstellen Allgemeine Java-Themen 2
DamienX Google Guice AOP + Logging Allgemeine Java-Themen 3
T CP Problem: Webstart + Logging properties file + eigener Handler Allgemeine Java-Themen 7
A java logging api scheint nicht thread save zu sein Allgemeine Java-Themen 22
T Java Logging API in Multi Threaded API Allgemeine Java-Themen 2
P fehlende Mehrfachvererbung logging.Handler impl. Observable Allgemeine Java-Themen 5
M Verbieten Applets die Nutzung von Commons Logging? Allgemeine Java-Themen 7
F Java logging Allgemeine Java-Themen 4
F Java logging Leerzeile als Standardeinstellung Allgemeine Java-Themen 4
S Java logging konfigurieren? Allgemeine Java-Themen 5
DEvent log4j, commons logging, log4j.properties and co Allgemeine Java-Themen 12
J Logging Allgemeine Java-Themen 10
J Log4j / commons-logging Allgemeine Java-Themen 3
K Logging mit Log4j Allgemeine Java-Themen 2
G Logging Allgemeine Java-Themen 4
S Logging mit log4j Allgemeine Java-Themen 17
S Logging Allgemeine Java-Themen 9
M Rat gesucht: Logging (log4J oder java.util.logging oder .) Allgemeine Java-Themen 5
T Logging Allgemeine Java-Themen 12
T Transaction Logging Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben