您的位置:首页 > 理论基础 > 计算机网络

Python SimpleHTTPServer 实现日志简单的web展示

2016-01-27 10:34 609 查看
背景:开发有时候需要查看服务器的当前日志,但是操作系统的权限在运维人员的手里,而这个权限又不便提供给开发,当运维人员要频繁的给开发提供日志的时候,是应该考虑下其他酸爽的办法了。

可以试试这个:

[weblogic@localhost logs]$ 10.10.0.86^C

[weblogic@localhost logs]$ ls

abc.out  abcd.log

[weblogic@localhost logs]$ python -m SimpleHTTPServer 6789
Serving HTTP on 0.0.0.0 port 6789 ...

(注:6789是端口号,不写默认使用8000端口)



此时,打开浏览器,http://10.10.0.86:6789

确实看到了当前的路径下的文件列表,点开发现弹出下载提示框,其实也就是把out、log日志发布出去提供下载而已...



然而我想在线查看?当然也是可以的,不过要改一下源码:

[weblogic@localhost logs]$ ls

abc.out  abcd.log

[weblogic@localhost logs]$ ls /usr/lib64/python2.6/SimpleHTTPServer.py -al

-rw-r--r--. 1 root root 7422 Jan 22  2014 /usr/lib64/python2.6/SimpleHTTPServer.py

[weblogic@localhost logs]$ cp /usr/lib64/python2.6/SimpleHTTPServer.py ./

[weblogic@localhost logs]$ ls

abc.out  abcd.log  SimpleHTTPServer.py

[weblogic@localhost logs]$ 



源码:

需要增加out、log的配置,把这两种类型的日志当成普通文本输出到浏览器展示。

     extensions_map.update({

         '': 'application/octet-stream', # Default

         '.py': 'text/plain',

         '.c': 'text/plain',

         '.h': 'text/plain',

         '.out': 'text/plain',

         '.log': 'text/plain',

         })



再次启动

[weblogic@localhost logs]$ python -m SimpleHTTPServer 6789

Serving HTTP on 0.0.0.0 port 6789 ...



是不是很开心?



日志有更新?

[weblogic@localhost logs]$ ls

abc.out  abcd.log  SimpleHTTPServer.py

[weblogic@localhost logs]$ echo "Hello World" >> abc.out 

[weblogic@localhost logs]$ cat abc.out 

abc

test

xublog

Hello World

[weblogic@localhost logs]$



刷新浏览器即可查看最新日志



如此,你可以结合浏览器的搜索功能进行日志检索了(如果是乱码,注意切换浏览器字符集设置)。

小结:

1、当然这个SimpleHTTPServer还可以作文件共享;

2、如果你的日志文件没有切分,一个文件几个G大小的日志,那只能呵呵;

3、其实就是将日志以文本的方式传输到浏览器展示,至于性能嘛,勉强能用;

4、什么?你有更高级的日志管理系统?求赐教啊...

题外:我毕业后第一份正式的工作,是做运维的,经历了项目规划到实施到上线到后期运维的整个过程,期间遇到很多挑战,正是这些挑战才能锻炼人啊。

开发会拿一个前台的报错信息,找运维的拿应用的日志,其实这样效率是不高的。之前计划用mongodb存储日志,然而由于该计划申请的存储过大被废。

为了能够找到日志、统计交易耗时、搜索topSql,也学了一些shell命令。最近在学python,看到SimpleHTTPServer介个东西,就做下本文的记录了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 服务器 日志