Adder EnvoyLog#attach(String) method to log specific packages
This commit is contained in:
parent
5f9ebd4c43
commit
c692fe25ff
@ -68,7 +68,8 @@ public class Startup {
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
// Set new logger levels loaded from config
|
||||
// Setup logger for the envoy package
|
||||
EnvoyLog.attach("envoy");
|
||||
EnvoyLog.setFileLevelBarrier(config.getFileLevelBarrier());
|
||||
EnvoyLog.setConsoleLevelBarrier(config.getConsoleLevelBarrier());
|
||||
|
||||
|
@ -19,17 +19,14 @@ import envoy.client.data.Config;
|
||||
*/
|
||||
public class EnvoyLog {
|
||||
|
||||
private static Logger root;
|
||||
private static FileHandler fileHandler;
|
||||
private static StreamHandler consoleHandler;
|
||||
|
||||
static {
|
||||
|
||||
// Remove default console handler
|
||||
LogManager.getLogManager().reset();
|
||||
|
||||
// Get root logger
|
||||
root = Logger.getLogger("envoy");
|
||||
|
||||
// Configure log file
|
||||
File logFile = new File(Config.getInstance().getHomeDirectory(),
|
||||
"log/envoy_user_" + new SimpleDateFormat("yyyy-MM-dd--hh-mm-mm").format(new Date()) + ".log");
|
||||
@ -43,20 +40,34 @@ public class EnvoyLog {
|
||||
fileHandler = new FileHandler(logFile.getAbsolutePath());
|
||||
fileHandler.setLevel(Config.getInstance().getFileLevelBarrier());
|
||||
fileHandler.setFormatter(formatter);
|
||||
root.addHandler(fileHandler);
|
||||
} catch (SecurityException | IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
consoleHandler = new StreamHandler(System.out, formatter);
|
||||
consoleHandler.setLevel(Config.getInstance().getConsoleLevelBarrier());
|
||||
consoleHandler.setFormatter(formatter);
|
||||
root.addHandler(consoleHandler);
|
||||
|
||||
root.setLevel(Level.ALL);
|
||||
}
|
||||
|
||||
private EnvoyLog() {}
|
||||
|
||||
/**
|
||||
* Configures all loggers that are contained within the hierarchy of a specific
|
||||
* path
|
||||
*
|
||||
* @param path the path to the loggers to configure
|
||||
*/
|
||||
public static void attach(String path) {
|
||||
// Get root logger
|
||||
Logger logger = Logger.getLogger(path);
|
||||
|
||||
// Add handlers
|
||||
if (fileHandler != null) logger.addHandler(fileHandler);
|
||||
logger.addHandler(consoleHandler);
|
||||
|
||||
// Delegate logger level filtering to the handlers
|
||||
logger.setLevel(Level.ALL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a {@link Logger} with a specified name
|
||||
*
|
||||
|
Reference in New Issue
Block a user