io-java执行linux命令从linux服务器上读取log日志文件,按行读从指定字符串开始读

问题描述

java执行linux命令从linux服务器上读取log日志文件,按行读从指定字符串开始读

[INFO ] 2015-09-23 11:22:06,691 [threadPoolTaskExecutor-41] com.sto.pdaplatform.module.rediscommon.core.ParseObjectFactory.getParseObjFactory(ParseObjectFactory.java:27) >>> the original data is :{"inTime":"2015-09-23 11:
25:58","cnt":"1","opRecord":[{"effectiveType":"","expType":"10","frequencyNo":"","goodsType":"","inputWeight":"","lastOrgCode":"","waybillNo":"768999995555","weight":"","auxOpCode":"NEW","clientProgramRole":"0","deviceType":"PDA","opCod
e":"520","opOrgCode":"900000","opTerminal":"150100180220789","opTime":"2015-09-23 11:25:54","opUserCode":"9000000615","pdaUuid":"12293d94dd26409db4c370fa3e47c07c"}],"org":"900000","mty":"0520","sessionId":"081f9b6d0051409da81009db0eb397
0d","tid":"150100180220789","trace":"923000063"} ]]
这是读取的一行的记录 ,然后想让读取的时候从the original data is :冒号后面开始读取,只要json串。

目前代码。

解决方案

先用indexof找到下标,然后substring,取需要的子串

解决方案二:

找到"the original data is :"所在的位置(indexof),然后往后提取就可以

时间: 2024-08-04 04:27:27

io-java执行linux命令从linux服务器上读取log日志文件,按行读从指定字符串开始读的相关文章

关于java执行ubuntu命令的问题

问题描述 关于java执行ubuntu命令的问题 同志们好,我在java代码中这样写的: public class LinuxTest { public static void main(String[] args) { LinuxTest test = new LinuxTest(); test.chmod("/usr/java/apache-tomcat-7.0.62/webapps/UploadSpringMVC/upload/tlbbtestfile.txt"); } /**

Linux中向远程服务器上的所有用户发送信息

风信网(ithov.com)原创文章:Linux中向远程服务器上的所有用户发送信息,我们可以通过rwall命令来实现,使用rwall(向所有人远程写)命令同时发送消息到网络中的所有用户. rwall hosthttp://www.aliyun.com/zixun/aggregation/11696.html">name file 当使用CDE或OpenWindows等窗口系统时,每个窗口被看成是一次单个的登录;如果用户登录次数超过一次则消息直接发送到控制窗口

备份-linux采集远程windows服务器上的数据

问题描述 linux采集远程windows服务器上的数据 问题:公司有上百台windows服务器,我需要在每天将这些服务器上的某些文件备份到一台linux服务器中,如何做最方便?每天的总数据量不超过10g 解决方案 如果文件特别多的话可能时间比较长,如果是大文件的话网速快就行了 解决方案二: window 配置FTP->linux设置计划任务->每天拉

java 执行外部命令,想要得到按时间顺序正确的完整的打印信息,并且能阻塞,有什么办法呢?

问题描述 java 执行外部命令,想要得到按时间顺序正确的完整的打印信息,并且能阻塞,有什么办法呢? Process p = Runtime.getRuntime().exec(commands); 打印信息是分开普通信息缓冲区和错误信息缓冲区的,2者分开后,就体现不了顺序关系了,比如第一行错误信息,是在哪个普通信息之后打印的,第二行错误信息是在第几行普通信息之后打印的,如果使用 > xx.log的方式,可以得到顺序正确的打印文件,但是就不能用java.lang.Process阻塞了,会直接往下

java执行shell命令-Java执行shell命令问题

问题描述 Java执行shell命令问题 我在java代码中执行shell命令改变Android目录下的文件123.sh的权限, 使用Runtime.getRuntime().exec("chmod 777 /data/misc/123.sh")这个命令无效, 但是,我将chmod 777 /data/misc/123.sh这个命令写到脚本chmod.sh里,在PC机上改变chmod.sh的权限后使用adb push将其放到android目录/data/misc/下, 再使用Runti

javaweb-java根据ip判断网络连接情况(i除Java执行ping命令和InetAddress这两种方式)

问题描述 java根据ip判断网络连接情况(i除Java执行ping命令和InetAddress这两种方式) 因为ava执行ping命令和InetAddress这两种方式执行速度太慢了,有没有更好的解决方法??? 解决方案 获得客户端真实IP地址的方法一: public String getRemortIP(HttpServletRequest request) { if (request.getHeader("x-forwarded-for") == null) { return r

Linux系统的LOG日志文件及入侵后日志的清除

UNIX网管员主要是靠系统的LOG,来获得入侵的痕迹.当然也有第三方工具记录入侵系统的 痕迹,UNIX系统存放LOG文件,普通位置如下: /usr/adm - 早期版本的UNIX/var/adm - 新一点的版本使用这个位置/var/log - 一些版本的Solaris,linux BSD,Free BSD使用这个位置/etc - 多数UNIX版本把utmp放在这里,有些也把wtmp放在这里,syslog.conf在这里 下面的一些文件根据你所在的目录不同而不同:acct 或 pacct -- 

JAVA两个部署在不同服务器上的程序访问同一个表,如何避免同时向这个表中插入数据 ?

问题描述 JAVA两个部署在不同服务器上的程序访问同一个表,如何避免同时向这个表中插入数据 ? JAVA两个部署在不同服务器上的程序访问同一个表,如何避免同时向这个表中插入数据 ?刚写了个程序发现存在这个问题,原以为这种概率不会太高,但还是存在,怎么解决?谢谢 解决方案 其实和进程互斥的原理应该是一样的吧,在某一服务器访问该公共表的时候加锁,并同步更新数据至所有可达服务器,这样别的服务器也有访问请求时,就会等锁解开再进行.加锁的服务器程序应负责在释放资源后解锁. 解决方案二: 情况是这样的,现在

紧急求助:linux vsftpd虚拟用户能上传、下载文件,没有删除权限

问题描述 紧急求助:linux vsftpd虚拟用户能上传.下载文件,没有删除权限 SELinux设置为disable了,文件属主是virtural(virtual是虚拟用户所在的本地用户) 解决方案 写个脚本将文件扫描到就赋予所有权限呢 解决方案二: 把write_enable=yes前面的注释取消试试