在linux中nginx日志产生的格式是下面的配置:
$remote_addr^A$msec^A$http_host^A$request_uri
然后准备好了获取的日志数据
![a792da2f70ad4b9074c87b91677fcbbe.png](https://i-blog.csdnimg.cn/blog_migrate/68914f4fdaa6d89e2d07dc7c5f6cae3a.jpeg)
创建工程编写代码:
创建执行类和方法
![85978155a6887c67624f7eca106d4222.png](https://i-blog.csdnimg.cn/blog_migrate/6a6990c5c17dadf386d9549e541c5bbf.jpeg)
基本结构
![3614be1d118b483ee71fc597b068f64f.png](https://i-blog.csdnimg.cn/blog_migrate/44f717b60a6e0cd037aaa2821d260f0e.jpeg)
创建一个日期处理的工具类
![16cdc755f7e1879c48b95e313881ff77.png](https://i-blog.csdnimg.cn/blog_migrate/dc34e8bc0438109e3b2e0de35e22aa32.jpeg)
完成简单的IP和时间存放
![f9dee6bda2aa7411ea9a4d55bbcdf227.png](https://i-blog.csdnimg.cn/blog_migrate/b1b82619129ed03b38c53595a8482c64.jpeg)
判断请求参数,利用?判断
![7ba45c3ce4ff06b52ded9375b3d5763e.png](https://i-blog.csdnimg.cn/blog_migrate/bfa4993488d3e1e7464fd4ab8b94bfb5.jpeg)
如果请求的日志信息拿不到 也没有必要获取其它信息了
![f850481c1ab6645ce6b56e00c35cf1a1.png](https://i-blog.csdnimg.cn/blog_migrate/7601551d9c3a1d7dac7089440b8f3931.jpeg)
将请求信息获取的处理方法
![5ec7491e60116c4b1725d854808b93b6.png](https://i-blog.csdnimg.cn/blog_migrate/1eb2b31b47d5f2a9a576be6ae58ae8b3.jpeg)
网上有很多纯真IP地址数据库qqwry.dat解析的内容,我们利用下获取IP对应的地址
首先准备一个类IPSeeker(网上很多,可以直接下载下来)
![8661ee888169833b9c6db0740c13542e.png](https://i-blog.csdnimg.cn/blog_migrate/884930a0e87575da0551e2eb56b9f184.jpeg)
再编写一个类,继承IPSeeker,编写一个单例
![8edc8e04b7e423fab4b252adfeeaf185.png](https://i-blog.csdnimg.cn/blog_migrate/dcc9ad76ea952aa6135c3ae8163cbbd3.jpeg)
准备一个区域信息的类,注意生成get/set方法
![13c3de9048e73c8c9970331856845ce4.png](https://i-blog.csdnimg.cn/blog_migrate/f4bb1001b784ca30d631cd33ccc0e6ed.jpeg)
QqwryIp添加解析IP地址的方法
![8d5ad3c36de6d6711772abf91ff69837.png](https://i-blog.csdnimg.cn/blog_migrate/314f61add9fa61083146a5e160880a5d.jpeg)
完成基本结构
![dfe707fc179f700127cc9fe8c7fb6a27.png](https://i-blog.csdnimg.cn/blog_migrate/0689365c8b444c4bd24d3ec433f5894e.jpeg)
默认设置
![a045949c528e87d217a533facdeb5c40.png](https://i-blog.csdnimg.cn/blog_migrate/fb0d00ba440c0e836a1f4c3a2fa5431d.jpeg)
处理省份信息
![ca018ca4a0769d9a7e0952d6b4d4873d.png](https://i-blog.csdnimg.cn/blog_migrate/26377b78d422829db067186123a5b6ca.jpeg)
单独省份的处理信息,先示例一部分,简单处理
![6dbfdb18e743d21673712391fec81b10.png](https://i-blog.csdnimg.cn/blog_migrate/83324fb0b49d41eb0992a1a49ab4ed0c.jpeg)
内蒙古
![a8057e7f2862cd5a9ca6c84e9d79d65a.png](https://i-blog.csdnimg.cn/blog_migrate/288ef71032f9a67984cff62c2becd6ef.jpeg)
新疆、广西等地
![36f4d59d4952fb59824e09fda22af35b.png](https://i-blog.csdnimg.cn/blog_migrate/f4138290ff07b35eb65b337d76455d09.jpeg)
天津、北京等地
![0ec963f73bed306f00ab86e9e9665335.png](https://i-blog.csdnimg.cn/blog_migrate/41e220d87dbe32a53d6b556cbc791ab3.jpeg)
香港、澳门等地和其它地区
![a2f2a1180923b9b3bdb7bd6fef7d5f35.png](https://i-blog.csdnimg.cn/blog_migrate/9cbe44cc31dbc804f460a14190608286.jpeg)
可以补起数据处理的部分了handlerLogText方法
![a3de1bd7f88a3aa0b02299fce6a1a743.png](https://i-blog.csdnimg.cn/blog_migrate/92416a1f6564a943851b0f281f740468.jpeg)
编写主方法,读取文件的内容主要部分
![65b3d2eadfb934777201a382e3b6a859.png](https://i-blog.csdnimg.cn/blog_migrate/fc0b5c7d3a0c43259378cfa20a7bb2e1.jpeg)
执行结果,这样就获取了文本中的日志信息
![61488907443edce2a1fbcdf112944937.png](https://i-blog.csdnimg.cn/blog_migrate/1756c04e566ed3c28435842a647ad5c9.jpeg)