java-Spring Batch:如何处理多行日志文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-Spring Batch:如何处理多行日志文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1295字,纯文字阅读大概需要2分钟。
内容图文
我正在尝试使用Spring Batch将日志文件的内容导入数据库.
我当前正在使用FlatFileItemReader,但是不幸的是,有许多日志条目无法捕获.两个主要问题是:
>包含多行JSON字符串的行:
2012-03-22 11:47:35,307 DEBUG main someMethod(SomeClass.java:56): Do Something(18,true,null,null,null): my.json = '{
"Foo":"FooValue",
"Bar":"BarValue",
... etc
}'
>包含堆栈跟踪的行
2012-03-22 11:47:50,596 ERROR main com.meetup.memcached.SockIOPool.createSocket(SockIOPool.java:859): No route to host
java.net.NoRouteToHostException: No route to host
at sun.nio.ch.Net.connect0(Native Method)
at sun.nio.ch.Net.connect(Net.java:364)
at sun.nio.ch.Net.connect(Net.java:356)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:623)
at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:92)
at com.meetup.memcached.SockIOPool$SockIO.getSocket(SockIOPool.java:1703)
at com.meetup.memcached.SockIOPool$SockIO.<init>(SockIOPool.java:1674)
at com.meetup.memcached.SockIOPool.createSocket(SockIOPool.java:850)
at com.meetup.memcached.SockIOPool.populateBuckets(SockIOPool.java:737)
at com.meetup.memcached.SockIOPool.initialize(SockIOPool.java:695)
基本上,我需要FlatFileItemReader保持读取状态,直到到达下一个时间戳,同时汇总之前的所有行.有没有做过这样的事情(在Spring Batch中)
解决方法:
现在Spring Batch documentation中有一个FAQ可以解决这个用例.
内容总结
以上是互联网集市为您收集整理的java-Spring Batch:如何处理多行日志文件全部内容,希望文章能够帮你解决java-Spring Batch:如何处理多行日志文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。