为什么像Java.net.InetAddress这样的Java类不记录任何东西?
有没有一个特殊的原因使类喜欢 java.net.InetAddress不记录一行吗 在某些情况下,从Java库类中获取一些调试信息可能非常方便为什么像Java.net.InetAddress这样的Java类不记录任何东西?,java,logging,Java,Logging,有没有一个特殊的原因使类喜欢 java.net.InetAddress不记录一行吗 在某些情况下,从Java库类中获取一些调试信息可能非常方便 有很多日志框架。Java试图添加自己的日志,但那时为时已晚,Java的内置日志记录也是遥不可及的。这让我们回到:它应该用什么java.util.log,除了少数人使用它之外?slf4j?考虑到j.u.log的存在,它不是通用的,也有点奇怪。还有另一个元层吗 您希望INetAddress记录什么?创造如果您想记录某个特定类的创建,那么还有其他工具,不需要
java.util.log
,除了少数人使用它之外?slf4j?考虑到j.u.log的存在,它不是通用的,也有点奇怪。还有另一个元层吗
更一般地说,日志记录似乎不适合大多数核心库堆栈:日志最好用于引发重要事件(核心库不知道什么是重要的,从定义上讲,它几乎不是“端点”代码),以及跟踪流程流,但大多数核心库只执行一项任务,这意味着“log it”可以归结为“log method invocations”,这让我们回到#2:你可以这样做,你不需要java核心代码来显式包含日志行。?嗯,弱参数,不是吗?所有类的主要目的不是记录日志。不管怎样,他们都是为了帮助他们的用户获得洞察力。你有没有想过具体的情况?它可能会记录数百行,所以…你认为它应该记录什么?由于日志记录不是免费的,这是有问题的。另外,操作系统会记录网络内容,因此双重簿记可能没有多大用处。我想知道主机名的ip地址是从缓存中获取的还是通过查询dns服务器获取的。1)由于Java有自己的日志库,因此这将是我更喜欢的日志库。添加日志消息永远不会太迟。2) 例如,如果已解析的备份是从缓存中获取的,则记录日志。3) 是的,但是检查布尔条件并没有那么昂贵。应该注意的是,InetAddress在7月之前就已经存在了。出于3)中给出的原因,在以后的版本中更改这样一个低级类的实现和性能可能太冒险了。@Oliver so,你认为社区中80%以上的人会被冷落这一事实无关紧要吗?那是。。意见。选择j.u.l.是明智之举。你肯定知道这很棘手,因此根本不是一个大满贯?有更多有用的事情可以花时间去做。考虑到核心LIB的性能需求,您关于如何降低成本的想法是错误的。