zoukankan      html  css  js  c++  java
  • 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()方法,就可以将输出抽取成一个字符串。

  • 相关阅读:
    2017ccpc全国邀请赛(湖南湘潭) E. Partial Sum
    Codeforces Round #412 C. Success Rate (rated, Div. 2, base on VK Cup 2017 Round 3)
    2017 中国大学生程序设计竞赛 女生专场 Building Shops (hdu6024)
    51nod 1084 矩阵取数问题 V2
    Power收集
    红色的幻想乡
    Koishi Loves Segments
    Wood Processing
    整数对
    Room and Moor
  • 原文地址:https://www.cnblogs.com/zhyStudy/p/8469234.html
Copyright © 2011-2022 走看看