从命令行写入系统日志

Dre*_*kes 40 command-line syslog

如何/var/log/syslog从命令行写入条目?

Dre*_*kes 50

使用logger命令。

logger Some message to write
Run Code Online (Sandbox Code Playgroud)

有多种选择,包括:

-i Log the process ID in each line
-f Log the contents of a specified file
-n Write to the specified remote syslog server
-p Specify a priority
-t Tag the line with a specified tag
Run Code Online (Sandbox Code Playgroud)

有关man 1 logger该工具的更多信息,请参见。


Syl*_*eau 10

或者,您可以syslog从 python写入:

python -c 'import syslog; syslog.syslog("Hello World")'
Run Code Online (Sandbox Code Playgroud)

  • 诚实的问题:相比 `logger` 命令,使用 Python 有什么好处? (2认同)
  • @DrewNoakes 如果您从命令行运行 - python - 脚本,使用标准库总是比依赖子进程和调用 `logger` 更好。你已经有我的投票,我只是提到一个替代方案。 (2认同)

Dar*_*ron 6

作为一名开发人员,我很少有时间仔细研究man页面,所以 TLDR:

logger -p local0.notice -t ${0##*/}[$$] Hello world
Run Code Online (Sandbox Code Playgroud)

中间的乱码将转换为调用程序。因此,如果您检查系统日志的底部,您会看到类似以下内容:

May 07 08:27:14 ip-10-1-11-166 -bash[42108]: Hello world
Run Code Online (Sandbox Code Playgroud)