gpt4 book ai didi

SLF4J - 什么是悬垂或分离的标记?

转载 作者:行者123 更新时间:2023-12-03 21:47:40 26 4
gpt4 key购买 nike

在 SLF4J 中,我不完全确定是什么 detached marker是。 JavaDoc 相当含糊。

一些问题:

  • 是否纯粹是标记的内存管理,即停止/启动被垃圾收集的标记?
  • 当您使用悬挂/分离的标记登录时会发生什么?
  • 如果标记已分离,您还可以对其进行过滤还是关闭?
  • 为什么要在运行时分离标记?我可以理解创建自由形式的动态标记从而节省内存(第 1 点),但稍后分离我觉得很奇怪。
  • 最佳答案

    我有同样的问题,并试图找到一些关于它的信息。

    SLF4J release notes对于 1.3.1 它说

    In response to a enhancement request made by Michael Newcomb, a marker can now be detached from the internal list of the MarkerFactory that generated it.



    它链接到一个 Bugzilla 错误 #39,我再也找不到了。

    线程 Marker for object identification?在邮件列表上 slf4j-user 是关于该主题的,但不包含逐字逐句的请求。

    我的解释是这样的:
  • 分离的标记不会在内部列表中引用,并且可以被垃圾收集。
  • 由于标记可以有子标记:如果您创建一个带有子标记 B 和 C 的分离标记 A,然后重新检索具有相同名称的标记 A',则不能保证 A == A' 和 A' 可能没有相同的子标记,如果您没有自己添加它们。
  • 我希望日志记录和过滤对于正常和分离的标记表现相同,注意 child 的事情。
  • 主要应用程序似乎是带有动态标识符的标记。在上面的邮件列表线程中,示例是 session 名称,它们总是不同的。同一 session 中的不同组件将其用作标记,您可以将其放入日志模式并稍后识别相关的日志消息。

  • 顺便说一句,在 log4j 2 documentation of Log4jMarkerFactory ,slf4j 的 log4j 实现,它说明了方法 getDetachedMarker()

    Log4j does not support detached Markers for performance reasons. The returned Marker is attached.



    所以也许分离标记只对某些日志库有用。

    关于SLF4J - 什么是悬垂或分离的标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22745221/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com