`
zsk_china
  • 浏览: 25704 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

用logger 输出printStackTrace()

阅读更多
public class HelloLog4jChild extends HelloLog4j {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		logger.debug("This is debug message!");
		logger.info("This is info message!");
		logger.error("This is error message!");
		HelloLog4jChild object = new HelloLog4jChild();
		try {
			object.testMethod();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			//e.printStackTrace();
			logger.error("HelloLog4jException", e);
		}
	}

	public void testMethod() throws Exception {
		try {
			testMethod2();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			// e.printStackTrace();
			throw new ClassNotFoundException("test1 Exception", e);
		}

	}

	public void testMethod2() throws Exception {

		throw new ClassNotFoundException("test2 Exception");
	}

}

使用logger.error("ExceptionName",e),可以很轻松的将printStackTrace()输出到log文件中(printStackTrace()是将错误的堆栈信息输出到Console中)。

引用
[11/07/27 13:18:58:812][com.zsk.log4j.demo1.HelloLog4jChild-main] This is info message!
[11/07/27 13:18:58:828][com.zsk.log4j.demo1.HelloLog4jChild-main] This is error message!
[11/07/27 13:18:58:828][com.zsk.log4j.demo1.HelloLog4jChild-main] HelloLog4jException
java.lang.ClassNotFoundException: test1 Exception
at com.zsk.log4j.demo1.HelloLog4jChild.testMethod(HelloLog4jChild.java:29)
at com.zsk.log4j.demo1.HelloLog4jChild.main(HelloLog4jChild.java:15)
Caused by:
java.lang.ClassNotFoundException: test2 Exception
at com.zsk.log4j.demo1.HelloLog4jChild.testMethod2(HelloLog4jChild.java:36)
at com.zsk.log4j.demo1.HelloLog4jChild.testMethod(HelloLog4jChild.java:25)
... 1 more

注意Caused by:是不同层级的Exception所产生的
throw new ClassNotFoundException("test1 Exception", e);
0
2
分享到:
评论

相关推荐

    java swing用Logger输出错误日志.docx

    在Swing应用中,我们同样可以使用Java内置的`java.util.logging`包来输出错误日志。这篇文档主要讨论了如何在Java Swing应用中使用`Logger`来生成和管理错误日志。 `Logger`是Java的日志记录工具,它提供了多种级别...

    Log输出到sdcard

    使用`LogCatReader`类或`Runtime.getRuntime().exec()`执行`logcat`命令,然后解析输出结果。 2. BroadcastReceiver监听:可以注册一个`BroadcastReceiver`监听系统重启事件,当设备启动时自动启动日志记录服务。 ...

    product_swing_java自带log使用_swing皮肤定义_java_

    2. 创建日志实例:为你的类创建一个Logger对象,通常使用类名作为logger的名称: ```java private static final Logger LOGGER = Logger.getLogger(MyClass.class.getName()); ``` 3. 记录日志:然后,你可以使用...

    java代码调用ant执行类

    这个示例中,我们添加了一个`DefaultLogger`来捕获Ant的输出,以便在控制台上查看构建过程中的信息、警告和错误。 使用这种方式,你可以根据需要动态地控制Ant的执行,例如根据运行时条件选择不同的目标,或者传递...

    Python日志:自定义输出字段 json格式输出方式

    当我们调用`logger.debug`或`logger.info`时,日志将以JSON格式输出,并包含我们自定义的`ip`和`source`字段的值。 此外,对于Android开发中的日志记录,当日志内容较长时,控制台可能会自动截断。在这种情况下,...

    Java将Exception信息转为String字符串的方法

    通常情况下,我们使用 `e.printStackTrace()` 来输出异常信息,但是这只会将异常信息输出到控制台中,有时候我们需要将异常信息转换为可处理的 String 类型以便于后续处理。 解决方法一:使用 Log4j 当我们使用 ...

    JLogger:极其简单的Java记录器类,可通过代理支持进行输出和调试

    该类还提供通过Throwable.printStackTrace()方法( Logger.error(Throwable|String|StringBuilder) )输出的简单错误。代理功能有时,在某些方法调用参数中或简单地修改某些字符串(例如,某些字符串)时,会存在一...

    应用系统日志规范.pdf

    应用程序禁止直接使用Log4J API,并且禁止使用JDK Console输出(System.out, System.err, ex.printStackTrace(), etc.)。所有的日志实例的属性都应从根日志(root logger)继承。日志信息必须支持输出到控制台...

    实现两数相加及添加到日志的功能

    e.printStackTrace(); } ``` 然后,当执行两数相加后,我们可以将结果写入日志: ```java // 计算两数之和 int result = num1 + num2; // 将结果写入日志 logger.info("两数之和 " + num1 + " 和 " + num2 + " ...

    Log4j使用教程

    e.printStackTrace(); } } } } ``` 以上代码创建了一个监听8080端口的服务器,每当有新的连接请求时,就会创建一个新的线程来处理客户端的请求。 总的来说,Log4j是Java开发中不可或缺的工具,它使得日志管理...

    Android日志打印类

    - 使用`enqueueLog(String message)`来暂存日志,然后在合适的时候一次性输出。 9. **多线程支持**: - 为了确保线程安全,`LogTool`应考虑并发问题,可能需要使用同步机制来保护共享资源。 10. **日志过滤**: ...

    spring3中使用SLF4J

    e.printStackTrace(); } } @Override public void contextDestroyed(ServletContextEvent sce) { // 可以添加清理或关闭操作 } } ``` `logback.xml`是Logback的日志配置文件,它定义了日志级别、输出目的地...

    jsp实现日志

    Logger logger = Logger.getLogger("MyPage"); logger.debug("这是调试信息"); logger.info("这是普通信息"); //... %> ``` 接下来,我们将JSP与SQL Server数据库集成,实现数据的CRUD操作。首先,确保在项目中...

    读取doc rtf文档内容

    在处理过程中,为了解决中文乱码问题,我们通常需要确保文件读取和输出时使用相同的字符编码。在Java中,可以使用`FileReader`或`FileInputStream`并指定`Charset`来创建读取流。在上述示例中,我们使用了默认的系统...

    简单java操作log4j+Mysql存储日志信息

    通过配置文件(通常是log4j.properties或log4j.xml),我们可以定义不同的日志级别(如DEBUG、INFO、WARN、ERROR和FATAL),以及控制台输出、文件记录、甚至是网络发送等多种输出方式。在这个场景中,我们使用了SLF4...

    java实现ftp自动上传文件

    private static final Logger logger = Logger.getLogger(Log4jToJTextArea.class); public static void init() { PatternLayout layout = new PatternLayout("%d{HH:mm:ss} %-5p %c{1}:%L - %m%n"); ...

    Excel文件操作的jxl包

    这将在控制台或者配置的输出位置打印出不同级别的日志信息,有助于调试和跟踪程序运行状态。 总之,通过`jxl`包,我们可以轻松地在Java中处理Excel文件,实现数据的读取和写入。同时,结合`jsl`库进行日志记录,...

    Java使用C3P0连接MySQL数据库查询

    e.printStackTrace(); } } } } ``` 这里,我们创建了一个静态的ComboPooledDataSource实例,并设置了数据库连接的相关参数,如URL、用户名和密码。 对于日志记录,log4j是一个广泛使用的日志框架,可以帮助我们...

    HttpClient实现文件下载

    - `IOException`:处理输入输出异常。 7. **资源释放**:确保在完成请求后释放连接资源。 #### 六、总结 通过上述分析,我们可以看到使用 HttpClient 实现文件下载的过程相对简单,主要涉及到了 HTTP 请求的构造...

    java完美公共方法读取properties文件的值

    e.printStackTrace(); } finally { inputStream.close(); } } catch (Exception e) { logger.error(e.getMessage()); } } public static String getProperty(String key) { return properties....

Global site tag (gtag.js) - Google Analytics