This commit is contained in:
Looly
2022-04-29 01:46:01 +08:00
parent b2f0dc7b0f
commit c753a53173
561 changed files with 1532 additions and 4201 deletions

View File

@@ -1,7 +1,7 @@
package cn.hutool.log;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.level.Level;
import java.io.Serializable;
@@ -9,15 +9,15 @@ import java.io.Serializable;
/**
* 抽象日志类<br>
* 实现了一些通用的接口
*
*
* @author Looly
*
*/
public abstract class AbstractLog implements Log, Serializable{
private static final long serialVersionUID = -3211115409504005616L;
private static final String FQCN = AbstractLog.class.getName();
@Override
public boolean isEnabled(Level level) {
switch (level) {
@@ -35,12 +35,12 @@ public abstract class AbstractLog implements Log, Serializable{
throw new Error(StrUtil.format("Can not identify level: {}", level));
}
}
@Override
public void trace(Throwable t) {
trace(t, ExceptionUtil.getSimpleMessage(t));
}
@Override
public void trace(String format, Object... arguments) {
trace(null, format, arguments);
@@ -50,12 +50,12 @@ public abstract class AbstractLog implements Log, Serializable{
public void trace(Throwable t, String format, Object... arguments) {
trace(FQCN, t, format, arguments);
}
@Override
public void debug(Throwable t) {
debug(t, ExceptionUtil.getSimpleMessage(t));
}
@Override
public void debug(String format, Object... arguments) {
if(null != arguments && 1 == arguments.length && arguments[0] instanceof Throwable) {
@@ -70,12 +70,12 @@ public abstract class AbstractLog implements Log, Serializable{
public void debug(Throwable t, String format, Object... arguments) {
debug(FQCN, t, format, arguments);
}
@Override
public void info(Throwable t) {
info(t, ExceptionUtil.getSimpleMessage(t));
}
@Override
public void info(String format, Object... arguments) {
if(null != arguments && 1 == arguments.length && arguments[0] instanceof Throwable) {
@@ -90,12 +90,12 @@ public abstract class AbstractLog implements Log, Serializable{
public void info(Throwable t, String format, Object... arguments) {
info(FQCN, t, format, arguments);
}
@Override
public void warn(Throwable t) {
warn(t, ExceptionUtil.getSimpleMessage(t));
}
@Override
public void warn(String format, Object... arguments) {
if(null != arguments && 1 == arguments.length && arguments[0] instanceof Throwable) {
@@ -110,12 +110,12 @@ public abstract class AbstractLog implements Log, Serializable{
public void warn(Throwable t, String format, Object... arguments) {
warn(FQCN, t, format, arguments);
}
@Override
public void error(Throwable t) {
this.error(t, ExceptionUtil.getSimpleMessage(t));
}
@Override
public void error(String format, Object... arguments) {
if(null != arguments && 1 == arguments.length && arguments[0] instanceof Throwable) {
@@ -130,7 +130,7 @@ public abstract class AbstractLog implements Log, Serializable{
public void error(Throwable t, String format, Object... arguments) {
error(FQCN, t, format, arguments);
}
@Override
public void log(Level level, String format, Object... arguments) {
if(null != arguments && 1 == arguments.length && arguments[0] instanceof Throwable) {
@@ -140,7 +140,7 @@ public abstract class AbstractLog implements Log, Serializable{
log(level, null, format, arguments);
}
}
@Override
public void log(Level level, Throwable t, String format, Object... arguments) {
this.log(FQCN, level, t, format, arguments);

View File

@@ -1,7 +1,7 @@
package cn.hutool.log;
import cn.hutool.core.lang.caller.CallerUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.level.Level;
/**

View File

@@ -3,7 +3,7 @@ package cn.hutool.log.dialect.commons;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.AbstractLog;
import cn.hutool.log.level.Level;
@@ -14,7 +14,7 @@ import cn.hutool.log.level.Level;
*/
public class ApacheCommonsLog extends AbstractLog {
private static final long serialVersionUID = -6843151523380063975L;
private final transient Log logger;
private final String name;
@@ -95,7 +95,7 @@ public class ApacheCommonsLog extends AbstractLog {
@Override
public void warn(Throwable t, String format, Object... arguments) {
}
@Override
public void warn(String fqcn, Throwable t, String format, Object... arguments) {
// fqcn此处无效
@@ -116,9 +116,9 @@ public class ApacheCommonsLog extends AbstractLog {
if(isErrorEnabled()){
logger.warn(StrUtil.format(format, arguments), t);
}
}
// ------------------------------------------------------------------------- Log
@Override
public void log(String fqcn, Level level, Throwable t, String format, Object... arguments) {

View File

@@ -4,7 +4,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.ansi.AnsiColor;
import cn.hutool.core.lang.ansi.AnsiEncoder;
import cn.hutool.core.util.ClassUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.level.Level;
import java.util.function.Function;

View File

@@ -4,7 +4,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Console;
import cn.hutool.core.map.Dict;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.AbstractLog;
import cn.hutool.log.level.Level;

View File

@@ -2,13 +2,13 @@ package cn.hutool.log.dialect.jboss;
import org.jboss.logging.Logger;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.AbstractLog;
import cn.hutool.log.level.Level;
/**
* <a href="https://github.com/jboss-logging">Jboss-Logging</a> log.
*
*
* @author Looly
*
*/
@@ -20,7 +20,7 @@ public class JbossLog extends AbstractLog {
// ------------------------------------------------------------------------- Constructor
/**
* 构造
*
*
* @param logger {@link Logger}
*/
public JbossLog(Logger logger) {
@@ -29,7 +29,7 @@ public class JbossLog extends AbstractLog {
/**
* 构造
*
*
* @param clazz 日志打印所在类
*/
public JbossLog(Class<?> clazz) {
@@ -38,7 +38,7 @@ public class JbossLog extends AbstractLog {
/**
* 构造
*
*
* @param name 日志打印所在类名
*/
public JbossLog(String name) {

View File

@@ -4,18 +4,18 @@ import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.AbstractLog;
/**
* <a href="http://java.sun.com/javase/6/docs/technotes/guides/logging/index.html">java.util.logging</a> log.
*
*
* @author Looly
*
*/
public class JdkLog extends AbstractLog {
private static final long serialVersionUID = -6843151523380063975L;
private final transient Logger logger;
// ------------------------------------------------------------------------- Constructor
@@ -30,7 +30,7 @@ public class JdkLog extends AbstractLog {
public JdkLog(String name) {
this(Logger.getLogger(name));
}
@Override
public String getName() {
return logger.getName();
@@ -90,7 +90,7 @@ public class JdkLog extends AbstractLog {
public void error(String fqcn, Throwable t, String format, Object... arguments) {
logIfEnabled(fqcn, Level.SEVERE, t, format, arguments);
}
// ------------------------------------------------------------------------- Log
@Override
public void log(String fqcn, cn.hutool.log.level.Level level, Throwable t, String format, Object... arguments) {
@@ -120,7 +120,7 @@ public class JdkLog extends AbstractLog {
// ------------------------------------------------------------------------- Private method
/**
* 打印对应等级的日志
*
*
* @param callerFQCN 调用者的完全限定类名(Fully Qualified Class Name)
* @param level 等级
* @param throwable 异常对象
@@ -136,7 +136,7 @@ public class JdkLog extends AbstractLog {
logger.log(record);
}
}
/**
* 传入调用日志类的信息
* @param callerFQCN 调用者全限定类名
@@ -155,7 +155,7 @@ public class JdkLog extends AbstractLog {
break;
}
}
if (found > -1) {
StackTraceElement ste = steArray[found+1];
record.setSourceClassName(ste.getClassName());

View File

@@ -3,12 +3,12 @@ package cn.hutool.log.dialect.log4j;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.AbstractLog;
/**
* <a href="http://logging.apache.org/log4j/1.2/index.html">Apache Log4J</a> log.<br>
*
*
* @author Looly
*
*/
@@ -77,7 +77,7 @@ public class Log4jLog extends AbstractLog {
public void warn(String fqcn, Throwable t, String format, Object... arguments) {
log(fqcn, cn.hutool.log.level.Level.WARN, t, format, arguments);
}
// ------------------------------------------------------------------------- Error
@Override
public boolean isErrorEnabled() {
@@ -112,7 +112,7 @@ public class Log4jLog extends AbstractLog {
default:
throw new Error(StrUtil.format("Can not identify level: {}", level));
}
if(logger.isEnabledFor(log4jLevel)) {
logger.log(fqcn, log4jLevel, StrUtil.format(format, arguments), t);
}

View File

@@ -5,18 +5,18 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.spi.AbstractLogger;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.AbstractLog;
/**
* <a href="http://logging.apache.org/log4j/2.x/index.html">Apache Log4J 2</a> log.<br>
*
*
* @author Looly
*
*/
public class Log4j2Log extends AbstractLog {
private static final long serialVersionUID = -6843151523380063975L;
private final transient Logger logger;
// ------------------------------------------------------------------------- Constructor
@@ -91,7 +91,7 @@ public class Log4j2Log extends AbstractLog {
public void error(String fqcn, Throwable t, String format, Object... arguments) {
logIfEnabled(fqcn, Level.ERROR, t, format, arguments);
}
// ------------------------------------------------------------------------- Log
@Override
public void log(String fqcn, cn.hutool.log.level.Level level, Throwable t, String format, Object... arguments) {
@@ -122,7 +122,7 @@ public class Log4j2Log extends AbstractLog {
/**
* 打印日志<br>
* 此方法用于兼容底层日志实现,通过传入当前包装类名,以解决打印日志中行号错误问题
*
*
* @param fqcn 完全限定类名(Fully Qualified Class Name),用于纠正定位错误行号
* @param level 日志级别使用org.apache.logging.log4j.Level中的常量
* @param t 异常

View File

@@ -1,7 +1,7 @@
package cn.hutool.log.dialect.logtube;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.AbstractLog;
import cn.hutool.log.level.Level;
import io.github.logtube.Logtube;

View File

@@ -4,14 +4,14 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.spi.LocationAwareLogger;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.AbstractLog;
import cn.hutool.log.level.Level;
/**
* <a href="http://www.slf4j.org/">SLF4J</a> log.<br>
* 同样无缝支持 <a href="http://logback.qos.ch/">LogBack</a>
*
*
* @author Looly
*
*/
@@ -154,7 +154,7 @@ public class Slf4jLog extends AbstractLog {
/**
* 打印日志<br>
* 此方法用于兼容底层日志实现,通过传入当前包装类名,以解决打印日志中行号错误问题
*
*
* @param logger {@link LocationAwareLogger} 实现
* @param fqcn 完全限定类名(Fully Qualified Class Name),用于纠正定位错误行号
* @param level_int 日志级别使用LocationAwareLogger中的常量
@@ -170,7 +170,7 @@ public class Slf4jLog extends AbstractLog {
/**
* 获取Slf4j Logger对象
*
*
* @param clazz 打印日志所在类,当为{@code null}时使用“null”表示
* @return {@link Logger}
*/

View File

@@ -5,18 +5,18 @@ import org.pmw.tinylog.LogEntryForwarder;
import org.pmw.tinylog.Logger;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.AbstractLog;
/**
* <a href="http://www.tinylog.org/">tinylog</a> log.<br>
*
*
* @author Looly
*
*/
public class TinyLog extends AbstractLog {
private static final long serialVersionUID = -4848042277045993735L;
/** 堆栈增加层数,因为封装因此多了两层,此值用于正确获取当前类名 */
private static final int DEPTH = 4;
@@ -97,12 +97,12 @@ public class TinyLog extends AbstractLog {
public void log(String fqcn, cn.hutool.log.level.Level level, Throwable t, String format, Object... arguments) {
logIfEnabled(fqcn, toTinyLevel(level), t, format, arguments);
}
@Override
public boolean isEnabled(cn.hutool.log.level.Level level) {
return this.level <= toTinyLevel(level).ordinal();
}
/**
* 在对应日志级别打开情况下打印日志
* @param fqcn 完全限定类名(Fully Qualified Class Name),用于定位日志位置
@@ -118,10 +118,10 @@ public class TinyLog extends AbstractLog {
}
LogEntryForwarder.forward(DEPTH, level, t, StrUtil.toString(format), arguments);
}
/**
* 将Hutool的Level等级转换为Tinylog的Level等级
*
*
* @param level Hutool的Level等级
* @return Tinylog的Level
* @since 4.0.3
@@ -155,7 +155,7 @@ public class TinyLog extends AbstractLog {
/**
* 如果最后一个参数为异常参数则获取之否则返回null
*
*
* @param arguments 参数
* @return 最后一个异常参数
* @since 4.0.3

View File

@@ -1,7 +1,7 @@
package cn.hutool.log.dialect.tinylog;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.log.AbstractLog;
import org.tinylog.Level;
import org.tinylog.configuration.Configuration;