java来解析日志 文件有什么好的思路?
每条日志类似下面这样:
10.5.12.19 - - [02/Feb/2012:13:07:10 +0800] "GET /?a=2&b=3&c=4&d=6&e=8&fi=12 HTTP/1.1" 200 151 "-" "curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5"
我要将里面的参数(红色部分)解析出来,存到数据库。
多个日志文件,一个文件大约500M。
[解决办法]
用正则
[解决办法]
用正则表达式吧
关于IP地址和日期都有现成的正则表达式(Google一下)可以借用
[解决办法]
bushere.com可以解决此问题。
[解决办法]
public class TestString { public static void main(String[] args) { String str = "10.5.12.19 - - [02/Feb/2012:13:07:10 +0800] \"GET /?a=2&b=3&c=4&d=6&e=8&fi=12 HTTP/1.1\" 200 151 \"-\" \"curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5\""; String[] strArr = str.split(" "); String ip = strArr[0]; String date = strArr[3].substring(1); String params = strArr[6].substring(2); System.out.println(ip); System.out.println(date); System.out.println(params); }}