Hallo zusammen,
ich versuche mittels Java Logger Class Log Meldungen meiner Applikation auszugeben, was auch prinzipiell funktioniert. Wenn ich allerdings in einem catch() Zweig eine Log Meldung schreiben will wird diese nicht geschrieben!?
Hier meine Logging Konfiguration:
Wenn ich z.B. in einem if-else den Logger aufrufe wird alles in das Log File geschrieben:
So sieht dann der Log Eintrag aus, einmal OK und einmal nicht OK:
Wenn ich das nun aus einem try-catch Block versuche, wird der SQL Stack Trace auf der Konsole (jTextArea) ausgegeben, aber keine Infos in das Log File geschrieben ???
Die Ausgaben wenn es gut geht (try) werden in das Log File geschrieben:
Hat jemand eine Idee was ich hier falsch mache und die Log Einträge nicht geschrieben werden?
Danke im Voraus für Eure Hilfe!
Gruß
Ralf
ich versuche mittels Java Logger Class Log Meldungen meiner Applikation auszugeben, was auch prinzipiell funktioniert. Wenn ich allerdings in einem catch() Zweig eine Log Meldung schreiben will wird diese nicht geschrieben!?
Hier meine Logging Konfiguration:
Java:
private static Logger logWriter = Logger.getLogger(OraSimpleBench.class.getName());
Java:
final InputStream inputStream = OraSimpleBench.class.getResourceAsStream("/logging.properties");
try
{
LogManager.getLogManager().readConfiguration(inputStream);
}
catch (final IOException ex) {
Logger.getAnonymousLogger().severe("Could not load default logging.properties file");
Logger.getAnonymousLogger().severe(ex.getMessage());
}
Java:
if (pingExitCode == 0) {
logWriter.info("Task DB Connect: Try to ping database host: Success!");
publish("Task DB Connect: Try to ping database host: Success!");
} else {
logWriter.severe("Task DB Connect: Try to ping database host: Failed with Exit Code: " + pingExitCode);
publish("Task DB Connect: Try to ping database host:\n");
publish("Ping Failed with Exit Code " + pingExitCode + "\n");
jLStatusDbConnect.setIcon(new ImageIcon(getClass().getClassLoader().getResource(iconNotOk)));
jBTestDBconnect.setEnabled(true);
cancel(true);
}
Code:
[Mon Apr 30 18:07:40 CEST 2018] INFO: Task DB Connect: Try to ping database host: Success!
[Mon Apr 30 18:16:28 CEST 2018] SEVERE: Task DB Connect: Try to ping database host: Failed with Exit Code: 2
Wenn ich das nun aus einem try-catch Block versuche, wird der SQL Stack Trace auf der Konsole (jTextArea) ausgegeben, aber keine Infos in das Log File geschrieben ???
Java:
DB db = new DB(jTAOutput, jLStatusDbConnect);
Connection conn=db.dbConnect(connectString, dbUser, dbPwd);
try {
conn.setAutoCommit(false);
logWriter.info("Task DB Connect: Try connect to: " + connectString + " as user: " + dbUser + " : Success!");
publish("Task DB Connect: Try connect to: " + connectString + " as user: " + dbUser + " : Success!");
//jLStatusDbConnect.setIcon(new ImageIcon(getClass().getClassLoader().getResource(iconOk)));
}
catch (SQLException ex) {
logWriter.severe(ex.getMessage());
jLStatusDbConnect.setIcon(new ImageIcon(getClass().getClassLoader().getResource(iconNotOk)));
logWriter.severe("Task DB Connect: Try connect to: " + connectString + " as user: " + dbUser + " : Failed");
publish("Task DB Connect: Try connect to: " + connectString + " as user: " + dbUser + " : Failed");
String msg = String.valueOf(ex);
publish(msg);
jBTestDBconnect.setEnabled(true);
cancel(true);
}
Code:
[Mon Apr 30 18:16:47 CEST 2018] INFO: Task DB Connect: Try connect to: jdbc:oracle:thin:@192.168.56.37:1521/orclmac1 as user: hr
[Mon Apr 30 18:16:48 CEST 2018] INFO: Task DB Connect: Try connect to: jdbc:oracle:thin:@192.168.56.37:1521/orclmac1 as user: hr : Success!
Hat jemand eine Idee was ich hier falsch mache und die Log Einträge nicht geschrieben werden?
Danke im Voraus für Eure Hilfe!
Gruß
Ralf