From 4c625e582a9b1ff65e2cc9ca64c57ff90a3799f7 Mon Sep 17 00:00:00 2001 From: Looly Date: Sun, 13 Oct 2019 11:16:47 +0800 Subject: [PATCH] add static get for Log --- CHANGELOG.md | 3 +- .../src/main/java/cn/hutool/log/Log.java | 38 +++++++++++++++++-- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcbb2d354..c9c027a43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,8 @@ ## 5.0.0 ### 新特性 -* 【all】 升级JDK最低支持到8 +* 【all】 升级JDK最低 支持到8 +* 【log】 Log接口添加get的static方法 ### Bug修复 * 【http】 修复Cookie中host失效导致的问题(issue#583@Github) diff --git a/hutool-log/src/main/java/cn/hutool/log/Log.java b/hutool-log/src/main/java/cn/hutool/log/Log.java index a69a881be..9054b70f6 100644 --- a/hutool-log/src/main/java/cn/hutool/log/Log.java +++ b/hutool-log/src/main/java/cn/hutool/log/Log.java @@ -1,5 +1,6 @@ package cn.hutool.log; +import cn.hutool.core.lang.caller.CallerUtil; import cn.hutool.log.level.DebugLog; import cn.hutool.log.level.ErrorLog; import cn.hutool.log.level.InfoLog; @@ -15,6 +16,37 @@ import cn.hutool.log.level.WarnLog; */ public interface Log extends TraceLog, DebugLog, InfoLog, WarnLog, ErrorLog { + //------------------------------------------------------------------------ Static method start + /** + * 获得Log + * + * @param clazz 日志发出的类 + * @return Log + */ + static Log get(Class clazz) { + return LogFactory.get(clazz); + } + + /** + * 获得Log + * + * @param name 自定义的日志发出者名称 + * @return Log + * @since 5.0.0 + */ + public static Log get(String name) { + return LogFactory.get(name); + } + + /** + * @return 获得日志,自动判定日志发出者 + * @since 5.0.0 + */ + static Log get() { + return LogFactory.get(CallerUtil.getCallerCaller()); + } + //------------------------------------------------------------------------ Static method start + /** * @return 日志对象的Name */ @@ -37,17 +69,17 @@ public interface Log extends TraceLog, DebugLog, InfoLog, WarnLog, ErrorLog { /** * 打印 指定级别的日志 - * + * * @param level 级别 * @param t 错误对象 * @param format 消息模板 * @param arguments 参数 */ void log(Level level, Throwable t, String format, Object... arguments); - + /** * 打印 ERROR 等级的日志 - * + * * @param fqcn 完全限定类名(Fully Qualified Class Name),用于定位日志位置 * @param level 级别 * @param t 错误对象