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);
分享到:
相关推荐
在Swing应用中,我们同样可以使用Java内置的`java.util.logging`包来输出错误日志。这篇文档主要讨论了如何在Java Swing应用中使用`Logger`来生成和管理错误日志。 `Logger`是Java的日志记录工具,它提供了多种级别...
使用`LogCatReader`类或`Runtime.getRuntime().exec()`执行`logcat`命令,然后解析输出结果。 2. BroadcastReceiver监听:可以注册一个`BroadcastReceiver`监听系统重启事件,当设备启动时自动启动日志记录服务。 ...
2. 创建日志实例:为你的类创建一个Logger对象,通常使用类名作为logger的名称: ```java private static final Logger LOGGER = Logger.getLogger(MyClass.class.getName()); ``` 3. 记录日志:然后,你可以使用...
这个示例中,我们添加了一个`DefaultLogger`来捕获Ant的输出,以便在控制台上查看构建过程中的信息、警告和错误。 使用这种方式,你可以根据需要动态地控制Ant的执行,例如根据运行时条件选择不同的目标,或者传递...
当我们调用`logger.debug`或`logger.info`时,日志将以JSON格式输出,并包含我们自定义的`ip`和`source`字段的值。 此外,对于Android开发中的日志记录,当日志内容较长时,控制台可能会自动截断。在这种情况下,...
通常情况下,我们使用 `e.printStackTrace()` 来输出异常信息,但是这只会将异常信息输出到控制台中,有时候我们需要将异常信息转换为可处理的 String 类型以便于后续处理。 解决方法一:使用 Log4j 当我们使用 ...
该类还提供通过Throwable.printStackTrace()方法( Logger.error(Throwable|String|StringBuilder) )输出的简单错误。代理功能有时,在某些方法调用参数中或简单地修改某些字符串(例如,某些字符串)时,会存在一...
应用程序禁止直接使用Log4J API,并且禁止使用JDK Console输出(System.out, System.err, ex.printStackTrace(), etc.)。所有的日志实例的属性都应从根日志(root logger)继承。日志信息必须支持输出到控制台...
e.printStackTrace(); } ``` 然后,当执行两数相加后,我们可以将结果写入日志: ```java // 计算两数之和 int result = num1 + num2; // 将结果写入日志 logger.info("两数之和 " + num1 + " 和 " + num2 + " ...
e.printStackTrace(); } } } } ``` 以上代码创建了一个监听8080端口的服务器,每当有新的连接请求时,就会创建一个新的线程来处理客户端的请求。 总的来说,Log4j是Java开发中不可或缺的工具,它使得日志管理...
- 使用`enqueueLog(String message)`来暂存日志,然后在合适的时候一次性输出。 9. **多线程支持**: - 为了确保线程安全,`LogTool`应考虑并发问题,可能需要使用同步机制来保护共享资源。 10. **日志过滤**: ...
e.printStackTrace(); } } @Override public void contextDestroyed(ServletContextEvent sce) { // 可以添加清理或关闭操作 } } ``` `logback.xml`是Logback的日志配置文件,它定义了日志级别、输出目的地...
Logger logger = Logger.getLogger("MyPage"); logger.debug("这是调试信息"); logger.info("这是普通信息"); //... %> ``` 接下来,我们将JSP与SQL Server数据库集成,实现数据的CRUD操作。首先,确保在项目中...
在处理过程中,为了解决中文乱码问题,我们通常需要确保文件读取和输出时使用相同的字符编码。在Java中,可以使用`FileReader`或`FileInputStream`并指定`Charset`来创建读取流。在上述示例中,我们使用了默认的系统...
通过配置文件(通常是log4j.properties或log4j.xml),我们可以定义不同的日志级别(如DEBUG、INFO、WARN、ERROR和FATAL),以及控制台输出、文件记录、甚至是网络发送等多种输出方式。在这个场景中,我们使用了SLF4...
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"); ...
这将在控制台或者配置的输出位置打印出不同级别的日志信息,有助于调试和跟踪程序运行状态。 总之,通过`jxl`包,我们可以轻松地在Java中处理Excel文件,实现数据的读取和写入。同时,结合`jsl`库进行日志记录,...
e.printStackTrace(); } } } } ``` 这里,我们创建了一个静态的ComboPooledDataSource实例,并设置了数据库连接的相关参数,如URL、用户名和密码。 对于日志记录,log4j是一个广泛使用的日志框架,可以帮助我们...
- `IOException`:处理输入输出异常。 7. **资源释放**:确保在完成请求后释放连接资源。 #### 六、总结 通过上述分析,我们可以看到使用 HttpClient 实现文件下载的过程相对简单,主要涉及到了 HTTP 请求的构造...
e.printStackTrace(); } finally { inputStream.close(); } } catch (Exception e) { logger.error(e.getMessage()); } } public static String getProperty(String key) { return properties....