限制java ssl调试日志记录
使用JVM标志限制java ssl调试日志记录,java,logging,ssl,jvm,Java,Logging,Ssl,Jvm,使用JVM标志 -Djavax.net.debug=ssl 正在生成大量日志记录,包括服务器上每个SSL事件的详细信息。是否只允许it记录错误?或者,这些标志中可能有一些更好的子集,可以产生更整洁的输出 all turn on all debugging ssl turn on ssl debugging The following can be used with ssl: record enable per-record
-Djavax.net.debug=ssl
正在生成大量日志记录,包括服务器上每个SSL事件的详细信息。是否只允许it记录错误?或者,这些标志中可能有一些更好的子集,可以产生更整洁的输出
all turn on all debugging
ssl turn on ssl debugging
The following can be used with ssl:
record enable per-record tracing
handshake print each handshake message
keygen print key generation data
session print session activity
defaultctx print default SSL initialization
sslctx print SSLContext tracing
sessioncache print session cache tracing
keymanager print key manager tracing
trustmanager print trust manager tracing
pluggability print pluggability tracing
handshake debugging can be widened with:
data hex dump of each handshake message
verbose verbose handshake message printing
record debugging can be widened with:
plaintext hex dump of record plaintext
packet print raw SSL/TLS packets
使用附加的
ssl
标志的格式为ssl:[标志]
,例如:
-Djavax.net.debug=ssl:record
或-Djavax.net.debug=ssl:handshake
我还发现,使用-Djavax.net.debug=ssl
(甚至其过滤器)调试HTTPS问题太麻烦了
这有点复杂,但我更喜欢在某个便宜的服务器上安装,然后配置我的Java客户端通过它进行代理。这样,我就可以轻松地检查和重放代理上的HTTPS请求/响应流,而无需梳理大量日志
如果您感兴趣,我已经写了一篇关于如何进行此操作的指南:我相信您可以通过异常免费获得错误。不需要特殊操作。这专门用于调试。因此日志数量巨大。将其设置为
“
”似乎只显示了一些警告。这是一个高投票率的答案,但它真的适用于人吗?这似乎不适合我。还有一个问题是,这些选项实际上不起作用。@eis是的,它对我起作用了。也许你没有正确地设置它,如果是这样,你应该明确地问一个新问题,这样我们就可以帮助你:)@Alfabravo那么你是说错误条目无效,这些工作正常吗?好吧,这是从2014年开始的,jdk7和openjdk。另外,有人评论说调试日志记录得到了改进,因此我认为您的方法对于调试TLS会话中发生的通信量非常有用,可以对其进行修改,但在调查发生在TLS会话本身级别的问题时,它的意义要小得多。代理将更改并隐藏该级别最初发生的事情。