log4j日志文件怎么才能记录异常的详细信息,也就是e.printStackTrace()的信息?

demo_3312 2007-09-02 09:42:48
log4j.properties
log4j.rootLogger=ERROR,R
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=D:/backup.log
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

在日志文件里面有输出:
2007-09-03 21:16:26 [com.TrackAction]-[ERROR] java.net.ConnectException: Connection timed out: connect

而在控制台里面则有输出:
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:364)
at java.net.Socket.connect(Socket.java:507)
at java.net.Socket.connect(Socket.java:457)
at java.net.Socket.<init>(Socket.java:365)
at java.net.Socket.<init>(Socket.java:178)
at com.kj133.action.TrackAction.init(TrackAction.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)


我怎么才能把详细信息输出到日志文件里面,请高手指教!


...全文
5172 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
llcy168 2011-08-02
  • 打赏
  • 举报
回复
logger.error(Object message, Throwable t)
正确
w798567896 2011-05-11
  • 打赏
  • 举报
回复
1楼写的是正确答案
但有一点写错了,log.error(e.getStac*****) 这句话编译都不通过,不可能这么写的。
knight_yaya 2009-10-29
  • 打赏
  • 举报
回复
可惜两年前我没有看到这个帖子,有种相见恨晚的感觉~_~
用这种log.XXX(Object obj,Thowable e)就可以把异常的堆栈信息写入日志了。。
宋玮-深圳 2007-09-06
  • 打赏
  • 举报
回复
catch后写log.error(e.printtrace)...之类的,信息就不会到console而是进日志
ChDw 2007-09-05
  • 打赏
  • 举报
回复
log.error("输入你要描述的信息",e);要将异常对象作为第二个参数传递到log的方法中
demo_3312 2007-09-05
  • 打赏
  • 举报
回复
按照楼上的说法,我改了改,在日志文件里面还只是显示信息
09:37:38,859 ERROR [ShowMaPAction] Connection refused: connect

并没有显示详细的信息
demo_3312 2007-09-05
  • 打赏
  • 举报
回复
按照楼上的方法,改了改,还是不行,也没有输出详细的信息。。。

请问这是什么原因?
iohui 2007-09-04
  • 打赏
  • 举报
回复
log.error(e.getMessage())
achao818 2007-09-03
  • 打赏
  • 举报
回复
设置要输出日志的级别,你的是error,所以大于error的都打印了
demo_3312 2007-09-03
  • 打赏
  • 举报
回复
按照你的方法,我试了下,在日志文件里面还是没有详细的信息,并且按照你的方法,
输出的太多了信息,很多都不是我想要的。。。
PoemCode 2007-09-02
  • 打赏
  • 举报
回复
log.error("输入你要描述的信息",e);
这样即可得到堆栈信息,不要使用log.error(e)和log.error(e.getStac*****)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧