通过HTTP服务器监控Python日志

2 投票
3 回答
3924 浏览
提问于 2025-04-17 05:01

有没有什么工具可以捕捉 Python 日志(通过 socket 或 http 发送的日志)并提供一个 http 服务,这样我就可以通过网页查看我的日志?

谢谢

最后……我找到一个可以完成这个工作的服务器了……

LoggingWebMonitor

更新

我在 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)

撰写回答