package org.zstack.utils.logging;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class CLoggerImpl implements CLogger {
private final Logger logger;
private static boolean initialized = false;
private CLoggerImpl(String name) {
logger = LogManager.getLogger(name);
}
private CLoggerImpl(Class<?> clazz) {
logger = LogManager.getLogger(clazz);
}
/*
private static void initialize() {
if (!initialized) {
String conf = System.getProperty("log4j");
if (conf == null) {
conf = "zstack-log4j.xml";
}
URL path = CLoggerImpl.class.getClassLoader().getResource(conf);
DOMConfigurator.configure(path);
initialized = true;
}
}
*/
public static CLogger getLogger(String name) {
//initialize();
return new CLoggerImpl(name);
}
public static CLogger getLogger(Class<?> clazz) {
//initialize();
return new CLoggerImpl(clazz);
}
@Override
public void trace(String msg, Throwable e) {
logger.trace(msg, e);
}
@Override
public void trace(String msg) {
logger.trace(msg);
}
@Override
public void debug(String msg, Throwable e) {
logger.debug(msg, e);
}
@Override
public void debug(String msg) {
logger.debug(msg);
}
@Override
public void info(String msg, Throwable e) {
logger.info(msg, e);
}
@Override
public void info(String msg) {
logger.info(msg);
}
@Override
public void warn(String msg, Throwable e) {
logger.warn(msg, e);
}
@Override
public void warn(String msg) {
logger.warn(msg);
}
@Override
public void error(String msg, Throwable e) {
logger.error(msg, e);
}
@Override
public void error(String msg) {
logger.error(msg);
}
@Override
public void fatal(String msg, Throwable e) {
logger.fatal(msg, e);
}
@Override
public void fatal(String msg) {
logger.fatal(msg);
}
public boolean isTraceEnabled() {
return logger.isTraceEnabled();
}
}