Search in sources :

Example 1 with PrefixFilter

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;
}
Also used : AsyncFileTarget(org.cubeengine.logscribe.target.file.AsyncFileTarget) PrefixFilter(org.cubeengine.logscribe.filter.PrefixFilter) Log(org.cubeengine.logscribe.Log) LogTarget(org.cubeengine.logscribe.LogTarget)

Aggregations

Log (org.cubeengine.logscribe.Log)1 LogTarget (org.cubeengine.logscribe.LogTarget)1 PrefixFilter (org.cubeengine.logscribe.filter.PrefixFilter)1 AsyncFileTarget (org.cubeengine.logscribe.target.file.AsyncFileTarget)1