serphyno
serphyno
2011-05-09 10:25

Eclipse环境下日志文件(log4j)打印到控制台输出时,如何做到可以点击错误提示跳转到指定代码行

已采纳

如题
以前见有的人项目中这样设置的,调试起来非常方便,不知怎么弄的?求教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • babailong 八白龙 10年前

    配置及输出如下:
    配置
    log4j.rootLogger=all,appender1 log4j.appender.appender1=org.apache.log4j.ConsoleAppender log4j.appender.appender1.layout=org.apache.log4j.PatternLayout log4j.appender.appender1.layout.ConversionPattern=[%d{yy-MM-dd HH:mm:ss}] %-5p %2r [%t] %c %l %m%n
    输出
    [11-01-30 18:52:22] TRACE 0 [main] com.bbl.log4j.Log4jTest com.bbl.log4j.Log4jTest.main(Log4jTest.java:11) trace

    其中格式化参数%l即可link入代码中。

    点赞 评论 复制链接分享
  • iihero iihero 10年前

    其实把e.printStackTrace()输出到logger里头,已经可以定位了。

    点赞 评论 复制链接分享
  • li28544071 li28544071 10年前

    在Eclipse中,你在捕获异常时用上e.printStackTrace();在控制台就会自动有链接到代码行了。

    点赞 评论 复制链接分享
  • redstarofsleep redstarofsleep 10年前

    把错误信息打到日志里就可以点了
    可以是logger.debug(e.printStractrace());把信息全部打出来。

    或者是自己拼
    [code="java"]
    StackTraceElement[] trace = ex.getStackTrace();
    for (StackTraceElement s : trace) {
    logger.error("*** Exception happened"
    + " --Class: " + s.getClassName()
    + " --Method: " + s.getMethodName()
    + " --Line: " + s.getLineNumber()
    + " --Type: " + ex.toString());
    }
    [/code]

    点赞 评论 复制链接分享
  • suziwen suziwen 10年前

    ECLIPSE自己就会感知到的吧

    点赞 评论 复制链接分享
  • myfamiliar myfamiliar 7年前

    System.err.println(new StackTraceElement(Test.class.getName(),Test.java,11));
    这种输出,可以很好的输出哪一行,哪一个文件.但是,myeclipse仍然不会自动识别出来,并且允许跳转.

    很想知道,如何 输出一个类名,和行号. 点击后自动跳转过去

    点赞 评论 复制链接分享

相关推荐