我目前正在做的工作
我编写了一个 Python 应用程序,它通过以下方式写入消息rsyslog。我已经配置了rsyslog写入自定义日志文件,/var/log/my_custom_log.log
其中我的条目运行正常。
我的默认syslog.conf
是没有修改的,我/etc/rsyslog.d/00-myrules.conf
的如下:
:msg, contains, "Transmission" /var/log/transmission.log
& ~
我也不明白最后的 & ~ 有什么作用,但没有它似乎就不起作用。
我需要什么才能工作
我只想能够将日志写入/home/me/logs/my_tests.log
。当我测试我的应用程序时,我需要确保某些内容被写入日志一定次数。我之前所做的是将我的消息写入我的主目录中的纯文本文件,检查此文件是否正确,然后在每次测试时删除它。我现在需要做同样的事情,但使用rsyslog。我正在以我的用户身份运行我的测试。
我想要正常日志写入/var/log/my_app_log.log
,这样就可以了。
我尝试过的
答案1
编辑:经过进一步讨论,我们认为将日志放在 之外是愚蠢的/var/log
。毕竟,这就是它的用途。
和这篇文章的帮助,我发现运行ls -Z
会显示 SELinux 上下文。正如发帖人所建议的那样,我将上下文复制到了/var/logs
我家中的日志目录中,并获得了所需的结果。
但是,我意识到这并不理想,正如第一个链接问题中接受的答案所述,因为它不是万无一失的。不幸的是,我对 SELinux 的了解还不够,无法正确阐述这一点,而且使用的方法适用于我的小环境。