快速业务通道

Merlin的魔力: 异常和日志记录 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
gger.log(Level.WARNING, elements[i].getMethodName()); }

Merlin的魔力: 异常和日志记录(4)

时间:2011-02-02 IBM John Zukowski

缺省情况下,日志记录消息被发送到控制台。可以通过为 LogManager 附加一个 Handler 将日志记录添加到文件,如清单 5 所示。

清单 5. 将日志记录添加到文件try {   LogManager manager = LogManager.getLogManager();   Handler handler = new FileHandler("zuk.log");   manager.addGlobalHandler(handler);   // log it } catch (IOException logException) {   System.err.println("Logging error"); }

当控制台输出格式不是任何一种易于分析的格式时,文件输出存储为 XML 文档。清单 6 显示了这个示例的这种输出。

清单 6. 样本日志文件输出<?xml version="1.0" standalone="no"?> <!DOCTYPE log SYSTEM "logger.dtd"> <log> <record>   <date>2001-10-30T16:24:23</date>   <millis>1004563463843</millis>   <sequence>0</sequence>   <logger>net.zukowski.ibm</logger>   <level>WARNING</level>   <class>Exceptions</class>   <method>main</method>   <thread>10</thread>   <message>arrayAccess</message> </record> <record>   <date>2001-10-30T16:24:24</date>   <millis>1004563464015</millis>   <sequence>1</sequence>   <logger>net.zukowski.ibm</logger>   <level>WARNING</level>   <class>Exceptions</class>   <method>main</method>   <thread>10</thread>   <message>main</message> </record> </log>

Merlin的魔力: 异常和日志记录(5)

时间:2011-02-02 IBM John Zukowski

完整的示例

清单 7 提供了一个完整的示例以供您试验这些新功能。

清单 7. 完整的示例import java.io.*; import java.util.logging.*; public class Exceptions {   private static void fileAccess() throws IOException {    // Fails because prefix is too short    File f = File.createTempFile("x", "y");   }   private static void divZero() {    System.out.println(1/0);   }   private static void arrayAccess(String array[]) {    System.out.println("First: " + array[0]);   }   public static void main(String args[]) {    try {     try {      fileAccess();     } catch (Exception e) {      class TheException extends Exception {       public TheException() {       }       public TheException(String message) {        super(message);       }       public TheException(Throwable throwable) {        super(throwable);       }       public TheException(String message, Throwable throwable) {        super(message, throwable);       }      }      TheException theExc = new TheException("Prefix too short", e);      throw theExc;     }    } catch (Exception cause) {     System.err.println("Cause: " + cause);     System.err.println("OriginalCause: "

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号