Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多个功能是否是回写标记的良好用例?_Java_Scala_Log4j_Slf4j_Logback - Fatal编程技术网

Java 多个功能是否是回写标记的良好用例?

Java 多个功能是否是回写标记的良好用例?,java,scala,log4j,slf4j,logback,Java,Scala,Log4j,Slf4j,Logback,我的用例如下(伪代码): 现在,我上面所说的是能够通过其MDC为userid切换TRACE-on,并且我还可以为不同的功能打开或关闭日志。例如,通过使用缓存标记我可以让我的应用程序在跟踪中记录所有缓存功能,因为我想在跟踪中查看所有缓存。缓存标记是否是标记的良好用例?作为在日志中查看跟踪中的所有缓存功能的切换?我认为基于每个功能操作日志与标记的用途非常一致。不过,根据现有的最佳实践,阅读并实施类似的内容总是很好的 这个问题是关于slf4j logback的最佳实践的,应该很有用: def add

我的用例如下(伪代码):


现在,我上面所说的是能够通过其
MDC
userid
切换
TRACE-on
,并且我还可以为不同的功能打开或关闭日志。例如,通过使用
缓存标记
我可以让我的应用程序在
跟踪
中记录所有
缓存
功能,因为我想在跟踪中查看所有缓存。
缓存标记
是否是
标记
的良好用例?作为在日志中查看
跟踪
中的所有
缓存
功能的切换?

我认为基于每个功能操作日志与标记的用途非常一致。不过,根据现有的最佳实践,阅读并实施类似的内容总是很好的

这个问题是关于slf4j logback的最佳实践的,应该很有用:

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)
}