首页 > 编程语言 >Java Mail Log输出

Java Mail Log输出

时间:2023-08-28 16:12:57浏览次数:39  
标签:Java Log void print println Override Mail public String

日志输出实现类

import org.apache.log4j.Logger;

import java.io.PrintStream;

/**
 * 扩展PrintStream,用于输出Java Mail打印Debug日志
 * <p>
 */
public class MailPrintStream extends PrintStream {
    private final Logger logger;

    public MailPrintStream(Logger logger) {
        super(System.out);
        this.logger = logger;
    }

    @Override
    public void print(String s) {
        logger.info(s);
    }

    @Override
    public void print(boolean b) {
        print(String.valueOf(b));
    }

    @Override
    public void print(char c) {
        print(String.valueOf(c));
    }

    @Override
    public void print(int i) {
        print(String.valueOf(i));
    }

    @Override
    public void print(long l) {
        print(String.valueOf(l));
    }

    @Override
    public void print(float f) {
        print(String.valueOf(f));
    }

    @Override
    public void print(double d) {
        print(String.valueOf(d));
    }

    @Override
    public void print(char[] s) {
        print(String.valueOf(s));
    }

    @Override
    public void print(Object obj) {
        print(String.valueOf(obj));
    }

    @Override
    public void println() {
        logger.info("");
    }

    @Override
    public void println(boolean x) {
        println(String.valueOf(x));
    }

    @Override
    public void println(char x) {
        println(String.valueOf(x));
    }

    @Override
    public void println(int x) {
        println(String.valueOf(x));
    }

    @Override
    public void println(long x) {
        println(String.valueOf(x));
    }

    @Override
    public void println(float x) {
        println(String.valueOf(x));
    }

    @Override
    public void println(double x) {
        println(String.valueOf(x));
    }

    @Override
    public void println(char[] x) {
        println(String.valueOf(x));
    }

    @Override
    public void println(String x) {
        logger.info(x);
    }

    @Override
    public void println(Object x) {
        println(String.valueOf(x));
    }

}

 

将实现类配置到DebugOut,并开启Debug模式

     Properties props = new Properties();
        props.setProperty("mail.transport.protocol", SMTP_MAIL_PROTOCOL);
        props.setProperty("mail.host", SMTP_MAIL_HOST);
        props.setProperty("mail.smtp.auth", "true");

        Session session = Session.getDefaultInstance(props);
        session.setDebugOut(new MailPrintStream(log4j));
        session.setDebug(true);

        MimeMessage message = new MimeMessage(session);

 

标签:Java,Log,void,print,println,Override,Mail,public,String
From: https://www.cnblogs.com/live365wang/p/17662571.html

相关文章

  • Joda-Time java时间工具
    引入依赖<!--日期时间工具--><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.10.1</version></dependency>使用方式:DateTimedt=new......
  • 18 JavaScript中的三元运算
    18JavaScript中的三元运算先来看一个例子:leta=10;letb=20;letd=a>b?a:bconsole.log(d); //20三元运算语法:条件表达式?A:B说明:当条件表达式为True,运算后的结果为A,否则结果为B。接下来在看一个恶心的:leta=10;letb=20;letc=5;letd=17......
  • java - 将旋转角度的图片旋转回去 -【解决生成缩略图导致图片旋转问题】
    获取旋转角度,参考这篇随笔java-检查是否有旋转角度导致ImageIO获取宽高相反-岑惜-博客园(cnblogs.com)旋转回去,工具类importjava.awt.*;importjava.awt.image.BufferedImage;publicclassRotateImageUtil{/***对图片进行旋转**@para......
  • 44基于java的汽车销售管理系统设计与实现(可参考做毕业设计)
    本章节给大家带来一个基于java的汽车销售管理系统设计与实现,车辆4S店管理系统,基于java汽车销售交易网站,针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能,提供经理和销售两种角色进行管理。引言实现一个汽车销售管理系统,汽车销售管理系统是一个大型......
  • SpringBoot-cnblog
    SpringBoot1.微服务1.1什么是微服务架构微服务是一种架构风格(可以对比mvc三层架构,mvvm前端架构对比),要求我们在开发一个应用的时候,这个应用必须构建成一系列小的服务组合。可以通过http的方式进行互通。其演变过程:1.1.1单体应用架构单体应用架构(allinone)是指,将一个应用中......
  • java绘图类
    javaawt控件,例如Frame、Button都是使用java绘图类Graphics生成的。参考1:https://blog.csdn.net/gaoqiandr/article/details/128631965参考2:https://blog.csdn.net/shulianghan/article/details/128696028javaGraphics类底层是不是也是跟C++一样调用的GDI?Java利用Graphics能......
  • 如何以Java实现网页截图技术
    今天看到某网友关于“如何以Java实现网页截图技术”的咨询帖,由于出现该咨询的地点非常不适合较长回复,故以博文形式回答。事实上,如果您想以Java实现网页截图,也就是“输入一段网址,几秒钟过后就能截取一张网页缩略图”的效果。那么,您至少有3种方式可以选择。 1、最直接的方式——使用......
  • javascript中parseInt的问题
    今天遇到一个有趣的问题,就是在用javascript的parseInt函数时,parseInt("08")或者parseInt("09")返回的居然是0,而parseInt("01")...parseInt("07")都是正确的,一开始很难理解,后来发现出现这个问题的原因是当在前面有"0"时,javascript会认为这是一个八进制数,而"08"和"09"不是一个合法......
  • 你不知道的 JavaScript - “this”
    JavaScript里的this到底指得是什么?很多人都会告诉你this指的是当前对象。这样理解对么?在大多数情况下确实没错。比如我们经常会在网页上写这样的JavaScript: <inputtype="submit"value="提交"onclick="this.value='正在提交数据'"/......
  • JavaScript FSO属性大全
     什么是FSO?FSO即FileSystemObject文件系统对象,是一种列表Windows磁盘目录和文件,对目录和文件进行删除、新建、复制、剪切、移动等操作的技术。使用FSO网站的好处:直接读取目录下的文件和子目录,方便维护,如需要添加任何内容,将文件放在相应的目录下即可;FSO网站类似Window......