通过HTTP服务器监控Python日志
有没有什么工具可以捕捉 Python 日志(通过 socket 或 http 发送的日志)并提供一个 http 服务,这样我就可以通过网页查看我的日志?
谢谢
最后……我找到一个可以完成这个工作的服务器了……
更新
我在 GitHub 上找到了 Sentry,看起来更复杂,也更适合生产环境使用。
3 个回答
0
试试Splunk吧,它很容易设置,而且界面也很好看。你可以监控你的日志文件,或者直接把日志发送到Splunk。它甚至可以远程处理多个服务器上的日志。而且你能做的事情远不止查看日志这么简单。
1
我推荐你使用 bottle.py,这是一个很不错的框架,适合这种情况。
这是项目网站的链接: http://bottlepy.org/docs/dev/
2
有很多工具可以轻松创建简单的RESTful HTTP网络服务。我最喜欢的是itty。
from itty import get, run_itty
import glob, gzip, json, os, functools
def jsonify(origfunc):
@functools.wraps(origfunc)
def wrapper(*args, **kwds):
result = origfunc(*args, **kwds)
return json.dumps(result, indent=4)
return wrapper
@get('/logs')
@jsonify
def list_logfiles(request):
return glob.glob('/var/log/myserver/*.gz')
@get('/logs/(?P<name>\w+)')
def show_logfile(request, name):
fullname = os.path.join('/var/log/myserver', name)
with gzip.open(fullname, 'rb') as f:
return f.read()
run_itty(host='localhost', port=8080)