Log4j输出方法参数不同所显示的结果不同参考

来源:互联网 发布:博科圣地知乎 编辑:程序博客网 时间:2024/06/13 21:29

Log4j输出方法参数不同所显示的结果不同参考

这里面所说的输出方法是指Logger对象的info()、debug()、error()之类的方法,下面以"error()"方法表示Logger对象的所有方法。

1.方法参数只有字符串:
eg:logger.error("文件不存在");
try {
   new FileInputStream("F");
  } catch (FileNotFoundException e) {
    logger.error("文件不存在");
  }
console端输出:
2014-04-16 15:01:58 [main]ERROR log4j.TestLog4j.test3(TestLog4j.java:70):找不到文件
0 [main] ERROR log4j.TestLog4j - 找不到文件
文件输出:
2014-04-16 15:01:58 [main]ERROR log4j.TestLog4j.test3(TestLog4j.java:70):找不到文件
整体对比图:


2.方法参数只有异常对象:
eg:logger.error(e);
try {
   new FileInputStream("F");
  } catch (FileNotFoundException e) {
    logger.error(e);
  }
console端输出:
2014-04-16 15:05:13 [main]ERROR log4j.TestLog4j.test3(TestLog4j.java:71):java.io.FileNotFoundException: F (系统找不到指定的文件。)
0 [main] ERROR log4j.TestLog4j - java.io.FileNotFoundException: F (系统找不到指定的文件。)
文件输出:
2014-04-16 15:05:13 [main]ERROR log4j.TestLog4j.test3(TestLog4j.java:71):java.io.FileNotFoundException: F (系统找不到指定的文件。)
整体对比图:


3.方法参数有字符串和异常对象
logger.error("文件不存在",e);
console端输出:
2014-04-16 15:07:18 [main]ERROR log4j.TestLog4j.test3(TestLog4j.java:69):文件不存在
java.io.FileNotFoundException: F (系统找不到指定的文件。)
 at java.io.FileInputStream.open(Native Method)
 at java.io.FileInputStream.<init>(FileInputStream.java:106)
 at java.io.FileInputStream.<init>(FileInputStream.java:66)
 at log4j.TestLog4j.test3(TestLog4j.java:65)
 at log4j.TestLog4j.main(TestLog4j.java:20)
1 [main] ERROR log4j.TestLog4j - 文件不存在
java.io.FileNotFoundException: F (系统找不到指定的文件。)
 at java.io.FileInputStream.open(Native Method)
 at java.io.FileInputStream.<init>(FileInputStream.java:106)
 at java.io.FileInputStream.<init>(FileInputStream.java:66)
 at log4j.TestLog4j.test3(TestLog4j.java:65)
 at log4j.TestLog4j.main(TestLog4j.java:20)
文件输出:
2014-04-16 15:07:18 [main]ERROR log4j.TestLog4j.test3(TestLog4j.java:69):文件不存在
java.io.FileNotFoundException: F (系统找不到指定的文件。)
 at java.io.FileInputStream.open(Native Method)
 at java.io.FileInputStream.<init>(FileInputStream.java:106)
 at java.io.FileInputStream.<init>(FileInputStream.java:66)
 at log4j.TestLog4j.test3(TestLog4j.java:65)
 at log4j.TestLog4j.main(TestLog4j.java:20)
整体对比图:


0 0
原创粉丝点击