【发布时间】:2015-11-06 05:56:34
【问题描述】:
您可以在为您的Session 设置Properties 时(通过将"mail.debug" 属性设置为"true")或在执行存储之前调用Session.setDebug 来指定JavaMail 是否发出协议级跟踪连接。
但是,当Protocol 对象被实例化时,它会创建一个“协议”TraceLogger,在协议对象的生命周期内持续存在。这似乎意味着一旦开始使用它,您就无法暂时禁用连接上的协议级调试日志记录。
有一个Protocol.suspendTracing 方法。它确实允许您暂时关闭协议跟踪输出。一堆 IMAP 身份验证方法使用它来将您的凭据保存在日志文件之外。但是suspendTracing 是protected,所以它不能从普通用户代码中调用。
还有其他方法可以暂时关闭 IMAP 协议跟踪吗? (我宁愿暂时只关闭 traceInput 日志记录,但我可以禁用所有日志记录。)我是否需要编写和注册整个协议子类以便可以访问 Protocol.suspendTracing?
【问题讨论】: