public class MultiAppLoggerSpaceManager extends Object
| 构造器和说明 |
|---|
MultiAppLoggerSpaceManager() |
| 限定符和类型 | 方法和说明 |
|---|---|
static org.slf4j.Logger |
getLoggerBySpace(String name,
SpaceId spaceId)
从 spaceName 的空间里寻找logger对象(而且这些 logger 是从该 spaceName 下的日志实现配置中解析而来)
|
static org.slf4j.Logger |
getLoggerBySpace(String name,
SpaceId spaceId,
ClassLoader spaceClassloader)
从 spaceName 的空间里寻找logger对象(而且这些 logger 是从该 spaceName 下的日志实现配置中解析而来)
|
static org.slf4j.Logger |
getLoggerBySpace(String name,
String spaceName)
从 spaceName 的空间里寻找logger对象(而且这些 logger 是从该 spaceName 下的日志实现配置中解析而来)
|
static org.slf4j.Logger |
getLoggerBySpace(String name,
String spaceName,
ClassLoader spaceClassloader)
从 spaceName 的空间里寻找logger对象(而且这些 logger 是从该 spaceName 下的日志实现配置中解析而来)
|
static Map<SpaceId,SpaceInfo> |
getSpacesMap() |
static void |
init(SpaceId spaceId,
Map<String,String> props)
非必要初始化操作。
|
static void |
init(String spaceName,
Map<String,String> props)
非必要初始化操作。
|
static boolean |
isSpaceInitialized(SpaceId spaceId)
用于并发场景非严格判断space是否init用;该场景中不和初始化场景锁同步,也就是不保证并发时严格判断正确;
|
static boolean |
isSpaceInitialized(String spaceName)
用于并发场景非严格判断space是否init用;该场景中不和初始化场景锁同步,也就是不保证并发时严格判断正确;
|
static org.slf4j.ILoggerFactory |
removeILoggerFactoryBySpaceId(SpaceId spaceId)
根据 spaceId 在日志空间里移除指定 spaceName 的 ILoggerFactory
|
static org.slf4j.ILoggerFactory |
removeILoggerFactoryBySpaceName(String spaceName)
根据 spaceName 在日志空间里移除指定 spaceName 的 ILoggerFactory
|
static org.slf4j.Logger |
setLoggerLevel(String loggerName,
SpaceId spaceId,
AdapterLevel adapterLevel)
更新日志级别,屏蔽底层差异
|
static org.slf4j.Logger |
setLoggerLevel(String loggerName,
String spaceName,
AdapterLevel adapterLevel)
更新日志级别,屏蔽底层差异
|
public static void init(String spaceName, Map<String,String> props)
"非必要",是因为:getLoggerBySpace默认也会执行init操作;
使用 MultiAppLoggerSpaceManager API 建议一定要执行初始化操作即调用这个方法
props - 替换log xml中占位符,如果与 System.props 重复定义,优先以 System.props 配置为准;public static void init(SpaceId spaceId, Map<String,String> props)
"非必要",是因为:getLoggerBySpace默认也会执行init操作;
使用 MultiAppLoggerSpaceManager API 建议一定要执行初始化操作即调用这个方法
public static org.slf4j.Logger getLoggerBySpace(String name, String spaceName)
name - loggerNamespaceName - 独立的loggers空间,比如"com.alipay.sofa.rpc";public static org.slf4j.Logger getLoggerBySpace(String name, SpaceId spaceId)
name - loggerNamespaceId - 独立的loggers空间public static org.slf4j.Logger setLoggerLevel(String loggerName, String spaceName, AdapterLevel adapterLevel)
loggerName - 要更新的日志名字spaceName - 日志对应的空间名称adapterLevel - 要更新的日志级别public static org.slf4j.Logger setLoggerLevel(String loggerName, SpaceId spaceId, AdapterLevel adapterLevel)
loggerName - 要更新的日志名字spaceId - 日志对应的空间名称adapterLevel - 要更新的日志级别public static org.slf4j.Logger getLoggerBySpace(String name, String spaceName, ClassLoader spaceClassloader)
name - loggerNamespaceName - 独立的loggers空间,比如"com.alipay.sofa.rpc";spaceClassloader - 该空间下独立的类加载器;(建议就是 APPClassloader 即可)public static org.slf4j.Logger getLoggerBySpace(String name, SpaceId spaceId, ClassLoader spaceClassloader)
name - loggerNamespaceId - 独立的loggers空间spaceClassloader - 该空间下独立的类加载器;(建议就是 APPClassloader 即可)public static org.slf4j.ILoggerFactory removeILoggerFactoryBySpaceName(String spaceName)
spaceName - 指定的日志空间名称public static org.slf4j.ILoggerFactory removeILoggerFactoryBySpaceId(SpaceId spaceId)
spaceId - 指定的日志空间名称public static boolean isSpaceInitialized(String spaceName)
spaceName - public static boolean isSpaceInitialized(SpaceId spaceId)
spaceId - Copyright © 2019. All rights reserved.