qq_39629052
qq_39629052
采纳率0%
2017-11-22 02:22

截取字符串问题,已爆炸

[00:58:08:179] [ERROR] - com.tsy.common.logging.ApplicationLoggerHelper.exception(ApplicationLoggerHelper.java:69) - traceID=2d8fcd1d-d48f-4468-9b4f-624600f979ac,class=class com.tsy.inventory.normal.sync.service.impl.InventorySyncServiceImpl,location=10.1.88.78,logtype=application,module=tsy-ticket-inventory,body=For input string: ""{},timestamp=1511197088179

这是日志文件,我需要截取traceId location logtype,module 这些有用的信息,如何截取,字段是固定的,但是内容可能长度不同

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

8条回答

  • qq_39629052 qq_39629052 4年前

    利用indexof 判断第一次所要的关键字出现的下标截图解决

    点赞 评论 复制链接分享
  • qq_39629052 qq_39629052 4年前

    if(txtline.startsWith("[")){
    sb.append(txtline);
    logInfo.setTraceID(sb.substring(??, ???)); 懵逼了

    点赞 评论 复制链接分享
  • qq_38603713 qq_38603713 4年前

    og4j 或者一些 java log的jar 。记录的日志 大多都是 一样一条的 , 按行读取。 百万级并不是很大。 如果再大可以考虑使用 spark。
    目前这种情况 。用BufferReader 足以。一行一行的读取。用正则去提取内容。 然后 截取

    点赞 1 评论 复制链接分享
  • qq_39629052 qq_39629052 4年前

    能简单贴一下代码吗,已经用BufferReader 一行一行读取,有用信息开头有规律,能匹配到想要行,知识不知道如何去截取

    点赞 评论 复制链接分享
  • Drizzly_ Drizzly_ 4年前

    log4j 或者一些 java log的jar 。记录的日志 大多都是 一样一条的 , 按行读取。 百万级并不是很大。 如果再大可以考虑使用 spark。
    目前这种情况 。用BufferReader 足以。一行一行的读取。用正则去提取内容。 然后 截取

    点赞 评论 复制链接分享
  • qq_39629052 qq_39629052 4年前

    我要取到其中关键字段的数据,插入到数据库

    点赞 评论 复制链接分享
  • qq_39629052 qq_39629052 4年前

    这是个日志文件,百万行级的。。。我不知道如何映射

    点赞 评论 复制链接分享
  • hua_751724893 码农-阿华 4年前

    可以先把[00:58:08:179] [ERROR] - com.tsy.common.logging.ApplicationLoggerHelper.exception(ApplicationLoggerHelper.java:69) -这后面的东西映射成一个map集合,你从map集合取值就ok了。

    点赞 评论 复制链接分享

为你推荐