package com.cloudroam.common; import com.cloudroam.model.LogDO; import com.cloudroam.model.UserDO; /** * 线程安全的当前登录用户,如果用户未登录,则得到 null * * @author */ public class LocalLogger { private LocalLogger() { throw new IllegalStateException("Utility class"); } private static final ThreadLocal LOCAL = new ThreadLocal<>(); /** * 得到当前日志 * * @return user | null */ public static LogDO getLocalLogDO() { return LocalLogger.LOCAL.get(); } /** * 设置当前日志 * * @param logDO logDO */ public static void setLocalLogDO(LogDO logDO) { LocalLogger.LOCAL.set(logDO); } public static T getLocalLogDO(Class clazz) { return (T) LOCAL.get(); } /** * 清理当前日志 */ public static void clearLocalLogDO() { LOCAL.remove(); } }