【发布时间】:2014-03-09 20:17:32
【问题描述】:
我的用例如下(伪代码):
def addUser(user) {
MDC.put(user.id)
LOG.trace(MyMarkers.ENTRY_POINT, "adding user {}", user);
calcUser(user)
MDC.remove(user.id)
}
def calcUser(user) {
calcUserName(user)
}
def calcUseName(user) {
storeUserInCache(user)
}
storeUserInCache(user) {
// is this a good use case? in case I want to enable CACHE feature in TRACE
// in logs (for the sake of example or any other feature to enable its tracing
// in logs i mark different TRACE with different markers.
LOG.trace(MyMarkers.CACHE, "storing user {} in cache", user);
}
getUserFromCache(userid) {
LOG.trace(MyMarkers.CACHE, "getting user {} from cache", userid)
}
现在我上面的意思是能够通过其MDC 切换TRACE on 为userid,我还可以打开或关闭不同功能的日志。例如,通过使用CACHE marker,我可以让我的应用程序记录TRACE 中的所有CACHE 功能,因为我想查看跟踪中的所有缓存。 CACHE marker 是 markers 的好用例吗?作为切换查看我的日志中TRACE 中的所有CACHE 功能?
【问题讨论】:
标签: java scala log4j slf4j logback