ohmLogger Warning drin
This commit is contained in:
parent
13483d909c
commit
1ddb300546
@ -5,50 +5,100 @@
|
||||
|
||||
package bandit.util;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.time.LocalDateTime;
|
||||
//import java.util.Properties;
|
||||
import java.util.logging.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author le
|
||||
* Klasse zur eigens konfigurierten Log-Ausgabe in der Console
|
||||
* @author ahrens
|
||||
*/
|
||||
public class OhmLogger
|
||||
{
|
||||
private static final String LOGGER_NAME = "OhmLogger";
|
||||
private static Logger lg = null;
|
||||
|
||||
private OhmLogger() //Singelton-Patter -> privater ctor -> anlegen nur über klassenmethode möglich
|
||||
/**
|
||||
* privater Konstrukter -> Singleton
|
||||
*/
|
||||
private OhmLogger()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Public Method zum Erstellen des Loggers und zum Aufruf der Methode
|
||||
* zum Initialisieren
|
||||
* @return Referenz auf Logger
|
||||
*/
|
||||
public static Logger getLogger()
|
||||
{
|
||||
if (lg == null)
|
||||
{
|
||||
lg = Logger.getLogger("OhmLogger");
|
||||
lg = Logger.getLogger(LOGGER_NAME);
|
||||
initLogger();
|
||||
}
|
||||
return lg;
|
||||
}
|
||||
|
||||
/**
|
||||
* Methode zum Initialisieren, Suchen der Konfigurationsdatei, Anlegen eines
|
||||
* neuen Console Handlers, Löschen der bisherigen Standard Handler und
|
||||
* Einfügen des eigenen Handler, Setzen des Levels, je nach Properties
|
||||
*/
|
||||
private static void initLogger()
|
||||
{
|
||||
// FileHandler fh = new FileHandler();
|
||||
try (InputStream configFile = OhmLogger.class.getClassLoader().getResourceAsStream("config.properties")) {
|
||||
if (configFile != null) {
|
||||
ConsoleHandler ch = new ConsoleHandler();
|
||||
ch.setFormatter(new OhmFormatter());
|
||||
lg.setUseParentHandlers(false);
|
||||
lg.getHandlers();
|
||||
lg.addHandler(ch);
|
||||
|
||||
lg.setLevel(Level.parse(System.getProperty("log.level", "WARNING")));
|
||||
|
||||
// Lese spezifische Level für einzelne Klassen aus der Properties-Datei
|
||||
// Properties properties = new Properties();
|
||||
// properties.load(configFile);
|
||||
//
|
||||
// for (String key : properties.stringPropertyNames()) {
|
||||
// if (key.startsWith("log.level.")) {
|
||||
// String className = key.substring("log.level.".length());
|
||||
// Logger classLogger = Logger.getLogger(className);
|
||||
// java.util.logging.Level classLogLevel = java.util.logging.Level.parse(properties.getProperty(key));
|
||||
// classLogger.setLevel(classLogLevel);
|
||||
// }
|
||||
// }
|
||||
|
||||
} else {
|
||||
System.err.println("Unable to find config.properties file. OhmLogger will use default settings.");
|
||||
}
|
||||
} catch (IOException | SecurityException e) {
|
||||
System.err.println("Error configuring OhmLogger: " + e.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
class OhmFormatter extends SimpleFormatter
|
||||
/**
|
||||
* Klasse zum Setzen des Formates des Auszugebenden Log-Strings
|
||||
* @author ahren
|
||||
*/
|
||||
class OhmFormatter extends Formatter
|
||||
{
|
||||
@Override
|
||||
public String format(LogRecord record)
|
||||
{
|
||||
String logline = "";
|
||||
String logline = "| ";
|
||||
|
||||
LocalDateTime ldt = LocalDateTime.now();
|
||||
logline += ldt.toString();
|
||||
logline += ";" + record.getMessage();
|
||||
logline += "\n";
|
||||
logline += " | " + record.getLevel();
|
||||
logline += " | " + record.getSourceClassName();
|
||||
logline += " | " + record.getMessage();
|
||||
logline += " |\n";
|
||||
|
||||
return logline;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user