• Java-- 异常与记录日志


      可以使用java.util.logging工具将输出记录在日志中。记录日志的的功能还是很简单的,下面直接铺出代码:

     1 package com.exceptions;
     2 
     3 import java.io.*;
     4 import java.util.logging.Logger;
     5 
     6 class LoggingException extends Exception{
     7     private static Logger logger =
     8             Logger.getLogger("LoggeringException");
     9     public LoggingException(){
    10         StringWriter trace = new StringWriter();
    11         printStackTrace(new PrintWriter(trace));
    12         logger.severe(trace.toString());
    13     }
    14 }
    15 
    16 public class LoggingExceptions {
    17     public static void main(String [] args)
    18     {
    19         try{
    20             throw new LoggingException();
    21         }catch(LoggingException e){
    22             System.err.println("Caught"+ e);
    23         }
    24         try{
    25             throw new LoggingException();
    26         }catch(LoggingException e){
    27             System.out.println("Caught"+ e);
    28         }
    29     }
    30 }

    结果:

     1 六月 22, 2014 9:32:41 下午 com.exceptions.LoggingException <init>
     2 严重: com.exceptions.LoggingException
     3     at com.exceptions.LoggingExceptions.main(LoggingExceptions.java:20)
     4 
     5 Caughtcom.exceptions.LoggingException
     6 六月 22, 2014 9:32:41 下午 com.exceptions.LoggingException <init>
     7 严重: com.exceptions.LoggingException
     8     at com.exceptions.LoggingExceptions.main(LoggingExceptions.java:25)
     9 
    10 Caughtcom.exceptions.LoggingException


      尽管LoggingException将所有日志的基础设施都构建在异常自身中,使得它所使用的方式非常方便,并因此不需要客户端程序员的干预就可以自动运行,但是更常见的情形是我们需要捕获和记录其他人编写的异常,因此我们必须在异常处理程序中生成日志消息:
     1 /**
     2  * 
     3  */
     4 package com.exceptions;
     5 
     6 import java.util.logging.Logger;
     7 import java.io.*;
     8 
     9 public class LoggingExceptions2 {
    10 
    11     /**
    12      * @param args
    13      */
    14     private static Logger logger = 
    15             Logger.getLogger("LoggingExceptions");
    16     static void logException(Exception e){
    17         StringWriter trace = new StringWriter();
    18         e.printStackTrace(new PrintWriter(trace));
    19         logger.severe(trace.toString());
    20     }
    21     public static void main(String[] args) {
    22         // TODO Auto-generated method stub
    23         try{
    24             throw new NullPointerException();
    25         }catch(NullPointerException e){
    26             logException(e);
    27         }
    28     }
    29 
    30 }

    结果:

    六月 22, 2014 9:47:03 下午 com.exceptions.LoggingExceptions2 logException
    严重: java.lang.NullPointerException
    at com.exceptions.LoggingExceptions2.main(LoggingExceptions2.java:24)

  • 相关阅读:
    Eclipse中创建新的Spring Boot项目
    解决win下无法ping通VM虚拟机CentOS系统的方法
    32位centos下安装jdk1.7报Permission denied处理方式
    Windows下安装HBase
    15个nosql数据库
    查看软件的安装路径
    IP地址 网段的划分
    签名算法
    CentOS开启FTP及配置用户
    CentOS 5.5安装SVN(Subversion)
  • 原文地址:https://www.cnblogs.com/fxyfirst/p/3803102.html
Copyright © 2020-2023  润新知