java - 如何将 javax.mail.Session setDebugOut 重定向到 log4j 记录器?

标签 java email debugging log4j jakarta-mail

如何将 javax.mail.Session setDebugOut 重定向到 log4j 记录器?

是否可以仅将 mailSession 调试重定向到记录器?

我的意思是,有类似的解决方案

link text

将所有标准输出重新分配给 log4j

--System.setOut(new Log4jStream())

最好的问候

最佳答案

Apache Commons Exec库包含有用的类 LogOutputStream ,您可以将其用于此确切目的:

LogOutputStream losStdOut = new LogOutputStream() {             
    @Override
    protected void processLine(String line, int level) {
        cat.debug(line);
    }
};

Session session = Session.getDefaultInstance(new Properties(), null);
session.setDebugOut(new PrintStream(losStdOut));

cat 显然是 log4j Category/Appender。

关于java - 如何将 javax.mail.Session setDebugOut 重定向到 log4j 记录器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2118370/

相关文章:

java - 文件读取最后一行

java - 设备上的计费服务不可用。 (响应 : 3:Billing Unavailable)

java - 在 jframe 中添加日期选择器?

debugging - VBS 找不到目录 - 'Path Not Found'

java - 在 JBoss Drools 中表达条件

c# - 有没有办法在 Web.config 文件的 smtp 元素中包含电子邮件地址 "display name"?

html - 电子邮件中的表 colspan

php - Drupal 7 - 从本地主机发送电子邮件

debugging - 如何配置 VS Code 来调试 vagrant 容器中的代码?

c# - 在调试器中唯一标识引用类型