【问题标题】:Quick remote logging system?快速远程记录系统?
【发布时间】:2016-08-11 23:30:47
【问题描述】:

我想使用 (Linux) 命令行或 Python 快速将一些日志记录插入到一​​些测试中。我不想在系统范围内做任何事情(例如重新配置 syslogd)。

我以前做过这样的事情:

wget URL/logme?im=module_name&msg=hello_world

然后只是解析服务器日志文件。这有点骇人听闻,您必须对所有数据进行 URL 编码。现在肯定有人有更好的方法。

有没有更好的方法来快速获取一些远程日志记录?

【问题讨论】:

  • 你不愿意在全系统范围内换掉安东尼吗?否则,您可以将 rsyslog 设置为记录器服务器和 python 'loggerglue' 以从客户端记录到远程主机。
  • 我不知道 loggerglue,这可能会有所帮助。我想要一些我可以在没有 root 权限的情况下设置的东西。如果我可以在非特权端口上运行系统日志,那应该可以。

标签: python linux logging command-line


【解决方案1】:

您可以使用远程 syslog 服务器:rsyslog 或 python 包 loggerglue 实现了 rfc5424 和 rfc5425 中描述的 syslog 协议。 .当您使用 1024 以上的端口时,您可以以非 root 用户身份运行它。

在 python 日志模块中,您有一个 SyslogHandler,它也支持 syslog 远程日志记录。

import logging
import logging.handlers

my_logger = logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)

handler = logging.handlers.SysLogHandler(address = ('127.0.0.1',514))

my_logger.addHandler(handler)

my_logger.debug('this is debug')
my_logger.critical('this is critical')

【讨论】:

  • 是否可以将日志作为 JSON 发送到 SysLogHandler?
  • 您可以使用json-logging并将SysLogHandler添加到JSON Logger。
猜你喜欢
  • 2020-10-09
  • 2021-07-20
  • 2011-12-09
  • 2013-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-07
  • 2021-04-10
相关资源
最近更新 更多