use of org.cubeengine.logscribe.filter.PrefixFilter in project core by CubeEngine.
the class LogProvider method getLogger.
public Log getLogger(Class owner, String name, boolean module) {
String longName = owner.getName() + "#" + name;
Log logger = loggers.get(longName);
if (logger != null) {
return logger;
}
Log baseLogger = logFactory.getLog(LogFactory.class, "CubeEngine");
if (module) {
logger = logFactory.getLog(owner, name);
logger.addTarget(new AsyncFileTarget.Builder(LoggingUtil.getLogFile(fm, name).toPath(), LoggingUtil.getFileFormat(true, true)).setAppend(true).setCycler(LoggingUtil.getCycler()).setThreadFactory(mm.getThreadFactory(owner)).build());
// delegate to main logger
LogTarget parentTarget = logger.addDelegate(baseLogger);
parentTarget.appendFilter(new PrefixFilter("[" + name + "] "));
} else {
logger = logFactory.getLog(owner, name);
// delegate to main logger
LogTarget parentTarget = logger.addDelegate(baseLogger);
parentTarget.appendFilter(new PrefixFilter("[" + name + "] "));
// TODO manually add Target for non-modules
}
this.loggers.put(longName, logger);
return logger;
}
Aggregations