• java的异常与记录日志


    今天在《java编程思想》一书中看到了异常与记录日志,发现学会将异常记录进日志中还是很有必要的,以下是书中的例子:

     1 import java.io.PrintWriter;
     2 import java.io.StringWriter;
     3 import java.util.logging.Logger;
     4 
     5 
     6 public class LoggingExceptions2 {
     7 
     8     private static Logger logger = Logger.getLogger("LoggingExceptions2");
     9     static void logException(Exception e){
    10         StringWriter trace = new StringWriter();
    11         e.printStackTrace(new PrintWriter(trace));
    12         logger.severe(trace.toString());
    13     }
    14     
    15     public static void main(String[] args) {
    16         try {
    17             throw new NullPointerException();
    18         } catch (NullPointerException e) {
    19             logException(e);
    20         }
    21     }
    22 }

    以下是输出结果:

    静态的Logger。getLogger()方法创建了一个String参数相关联的Logger对象,这个Logger对象会将其输出发送到System.err。向Logger写入的最简单方式就是直接调用与日志记录消息的级别相关联的方法,这里使用的severe()。为了产生日志记录消息,我们要获取异常抛出的消息,但是printStackTrace()不回默认的产生字符串。为了获取字符串,我们需要使用重载的printStackTrace()方法,它将接受一个java.io.PrintWriter对象作为参数,如果我们将一个java.io.StringWriter对象传给这个PrintWriter构造器,那么通过toString()方法,就可以将输出抽取成一个字符串。

  • 相关阅读:
    暑假周进度总结(一)
    第十七周进度总结
    大二下学期软件工程概论总结
    第十六周进度总结
    程序员修炼之道读书笔记(三)
    程序员修炼之道读书笔记(二)
    《程序员修炼之道》读书笔记(一)
    第十五周进度总结
    python之路--day6---文件处理
    python之路--day6--字符编码
  • 原文地址:https://www.cnblogs.com/zhyStudy/p/8469234.html
Copyright © 2020-2023  润新知