
com.star.log.StaticLog Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of utils Show documentation
Show all versions of utils Show documentation
some utility class for java develop
The newest version!
package com.star.log;
import com.star.lang.Caller;
import com.star.log.level.Level;
import com.star.string.StringUtil;
/**
* 静态日志类,用于在不引入日志对象的情况下打印日志
*
* @author Looly
*/
public final class StaticLog {
private static final String FQCN = StaticLog.class.getName();
private StaticLog() {
}
// ----------------------------------------------------------- Log method start
// ------------------------ Trace
/**
* Trace等级日志,小于debug
* 由于动态获取Log,效率较低,建议在非频繁调用的情况下使用!!
*
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void trace(String format, Object... arguments) {
trace(LogFactory.get(Caller.getCallerCaller()), format, arguments);
}
/**
* Trace等级日志,小于Debug
*
* @param log 日志对象
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void trace(Log log, String format, Object... arguments) {
if (!log(log, Level.TRACE, null, format, arguments)) {
log.trace(format, arguments);
}
}
// ------------------------ debug
/**
* Debug等级日志,小于Info
* 由于动态获取Log,效率较低,建议在非频繁调用的情况下使用!!
*
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void debug(String format, Object... arguments) {
debug(LogFactory.get(Caller.getCallerCaller()), format, arguments);
}
/**
* Debug等级日志,小于Info
*
* @param log 日志对象
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void debug(Log log, String format, Object... arguments) {
if (!log(log, Level.DEBUG, null, format, arguments)) {
log.debug(format, arguments);
}
}
// ------------------------ info
/**
* Info等级日志,小于Warn
* 由于动态获取Log,效率较低,建议在非频繁调用的情况下使用!!
*
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void info(String format, Object... arguments) {
info(LogFactory.get(Caller.getCallerCaller()), format, arguments);
}
/**
* Info等级日志,小于Warn
*
* @param log 日志对象
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void info(Log log, String format, Object... arguments) {
if (!log(log, Level.INFO, null, format, arguments)) {
log.info(format, arguments);
}
}
// ------------------------ warn
/**
* Warn等级日志,小于Error
* 由于动态获取Log,效率较低,建议在非频繁调用的情况下使用!!
*
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void warn(String format, Object... arguments) {
warn(LogFactory.get(Caller.getCallerCaller()), format, arguments);
}
/**
* Warn等级日志,小于Error
* 由于动态获取Log,效率较低,建议在非频繁调用的情况下使用!!
*
* @param e 需在日志中堆栈打印的异常
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void warn(Throwable e, String format, Object... arguments) {
warn(LogFactory.get(Caller.getCallerCaller()), e, StringUtil.format(format, arguments));
}
/**
* Warn等级日志,小于Error
*
* @param log 日志对象
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void warn(Log log, String format, Object... arguments) {
warn(log, null, format, arguments);
}
/**
* Warn等级日志,小于Error
*
* @param log 日志对象
* @param e 需在日志中堆栈打印的异常
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void warn(Log log, Throwable e, String format, Object... arguments) {
if (!log(log, Level.WARN, e, format, arguments)) {
log.warn(e, format, arguments);
}
}
// ------------------------ error
/**
* Error等级日志
* 由于动态获取Log,效率较低,建议在非频繁调用的情况下使用!!
*
* @param e 需在日志中堆栈打印的异常
*/
public static void error(Throwable e) {
error(LogFactory.get(Caller.getCallerCaller()), e);
}
/**
* Error等级日志
* 由于动态获取Log,效率较低,建议在非频繁调用的情况下使用!!
*
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void error(String format, Object... arguments) {
error(LogFactory.get(Caller.getCallerCaller()), format, arguments);
}
/**
* Error等级日志
* 由于动态获取Log,效率较低,建议在非频繁调用的情况下使用!!
*
* @param e 需在日志中堆栈打印的异常
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void error(Throwable e, String format, Object... arguments) {
error(LogFactory.get(Caller.getCallerCaller()), e, format, arguments);
}
/**
* Error等级日志
*
* @param log 日志对象
* @param e 需在日志中堆栈打印的异常
*/
public static void error(Log log, Throwable e) {
error(log, e, e.getMessage());
}
/**
* Error等级日志
*
* @param log 日志对象
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void error(Log log, String format, Object... arguments) {
error(log, null, format, arguments);
}
/**
* Error等级日志
*
* @param log 日志对象
* @param e 需在日志中堆栈打印的异常
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
*/
public static void error(Log log, Throwable e, String format, Object... arguments) {
if (!log(log, Level.ERROR, e, format, arguments)) {
log.error(e, format, arguments);
}
}
// ------------------------ Log
/**
* 打印日志
*
* @param level 日志级别
* @param t 需在日志中堆栈打印的异常
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
* @return 是否为LocationAwareLog日志
*/
public static boolean log(Level level, Throwable t, String format, Object... arguments) {
return log(LogFactory.get(Caller.getCallerCaller()), level, t, format, arguments);
}
/**
* 打印日志
*
* @param log 日志对象
* @param level 日志级别
* @param t 需在日志中堆栈打印的异常
* @param format 格式文本,{} 代表变量
* @param arguments 变量对应的参数
* @return 是否为LocationAwareLog日志
*/
public static boolean log(Log log, Level level, Throwable t, String format, Object... arguments) {
if (log instanceof LocationAwareLog) {
((LocationAwareLog) log).log(FQCN, level, t, format, arguments);
return true;
} else {
return false;
}
}
// ----------------------------------------------------------- Log method end
/**
* 获得Log
*
* @param clazz 日志发出的类
* @return Log
*/
public static Log get(Class> clazz) {
return LogFactory.get(clazz);
}
/**
* 获得Log
*
* @param name 自定义的日志发出者名称
* @return Log
*/
public static Log get(String name) {
return LogFactory.get(name);
}
/**
* @return 获得日志,自动判定日志发出者
*/
public static Log get() {
return LogFactory.get(Caller.getCallerCaller());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy