ohmLogger Warning drin
This commit is contained in:
parent
13483d909c
commit
1ddb300546
@ -5,50 +5,100 @@
|
|||||||
|
|
||||||
package bandit.util;
|
package bandit.util;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
//import java.util.Properties;
|
||||||
import java.util.logging.*;
|
import java.util.logging.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Klasse zur eigens konfigurierten Log-Ausgabe in der Console
|
||||||
* @author le
|
* @author ahrens
|
||||||
*/
|
*/
|
||||||
public class OhmLogger
|
public class OhmLogger
|
||||||
{
|
{
|
||||||
|
private static final String LOGGER_NAME = "OhmLogger";
|
||||||
private static Logger lg = null;
|
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()
|
public static Logger getLogger()
|
||||||
{
|
{
|
||||||
if (lg == null)
|
if (lg == null)
|
||||||
{
|
{
|
||||||
lg = Logger.getLogger("OhmLogger");
|
lg = Logger.getLogger(LOGGER_NAME);
|
||||||
initLogger();
|
initLogger();
|
||||||
}
|
}
|
||||||
return lg;
|
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()
|
private static void initLogger()
|
||||||
{
|
{
|
||||||
// FileHandler fh = new FileHandler();
|
try (InputStream configFile = OhmLogger.class.getClassLoader().getResourceAsStream("config.properties")) {
|
||||||
ConsoleHandler ch = new ConsoleHandler();
|
if (configFile != null) {
|
||||||
ch.setFormatter(new OhmFormatter());
|
ConsoleHandler ch = new ConsoleHandler();
|
||||||
lg.addHandler(ch);
|
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
|
@Override
|
||||||
public String format(LogRecord record)
|
public String format(LogRecord record)
|
||||||
{
|
{
|
||||||
String logline = "";
|
String logline = "| ";
|
||||||
|
|
||||||
LocalDateTime ldt = LocalDateTime.now();
|
LocalDateTime ldt = LocalDateTime.now();
|
||||||
logline += ldt.toString();
|
logline += ldt.toString();
|
||||||
logline += ";" + record.getMessage();
|
logline += " | " + record.getLevel();
|
||||||
logline += "\n";
|
logline += " | " + record.getSourceClassName();
|
||||||
|
logline += " | " + record.getMessage();
|
||||||
|
logline += " |\n";
|
||||||
|
|
||||||
return logline;
|
return logline;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user