cn.leancloud.AVLogger Maven / Gradle / Ivy
package cn.leancloud;
import cn.leancloud.core.AVOSCloud;
import cn.leancloud.core.AppConfiguration;
import cn.leancloud.logging.InternalLogger;
import cn.leancloud.utils.StringUtil;
public class AVLogger {
public enum Level {
OFF(0), ERROR(1),WARNING(2), INFO(3), DEBUG(4), VERBOSE(5), ALL(6);
Level(int intLevel) {
this.intLevel = intLevel;
}
public int intLevel() {
return this.intLevel;
}
private int intLevel;
}
private volatile InternalLogger internalLogger = null;
private String tag = null;
public AVLogger(String tag) {
this.tag = tag;
}
public void v(String msg) {
writeLog(Level.VERBOSE, msg);
}
public void v(String msg, Throwable tr) {
writeLog(Level.VERBOSE, msg, tr);
}
public void d(String msg) {
writeLog(Level.DEBUG, msg);
}
public void d(String msg, Throwable tr) {
writeLog(Level.DEBUG, msg, tr);
}
public void i(String msg) {
writeLog(Level.INFO, msg);
}
public void i(String msg, Throwable tr) {
writeLog(Level.INFO, msg, tr);
}
public void w(String msg) {
writeLog(Level.WARNING, msg);
}
public void w(String msg, Throwable tr) {
writeLog(Level.WARNING, msg, tr);
}
public void w(Throwable tr) {
writeLog(Level.WARNING, tr);
}
public void e(String msg) {
writeLog(Level.ERROR, msg);
}
public void e(String msg, Throwable tr) {
writeLog(Level.ERROR, msg, tr);
}
private InternalLogger getInternalLogger() {
if (null == internalLogger) {
synchronized (this) {
if (null == internalLogger) {
internalLogger = AppConfiguration.getLogAdapter().getLogger(tag);
}
}
}
return internalLogger;
}
protected boolean isEnabled(Level testLevel) {
return AVOSCloud.getLogLevel().intLevel() >= testLevel.intLevel();
}
protected void writeLog(Level level, String msg) {
if (!isEnabled(level)) {
return;
}
if (null == msg) {
msg = "";
}
InternalLogger internalLogger = getInternalLogger();
internalLogger.writeLog(level, msg);
}
protected void writeLog(Level level, String msg, Throwable tr) {
if (null == tr) {
writeLog(level, msg);
return;
}
if (StringUtil.isEmpty(msg)) {
writeLog(level, tr);
return;
}
if (!isEnabled(level)) {
return;
}
InternalLogger internalLogger = getInternalLogger();
internalLogger.writeLog(level, msg, tr);
}
protected void writeLog(Level level, Throwable tr) {
if (!isEnabled(level)) {
return;
}
if (null == tr) {
return;
}
InternalLogger internalLogger = getInternalLogger();
internalLogger.writeLog(level, tr);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy