我在Mac OSX Yosemite机器上尝试以下代码,运行python3.4
import syslog
syslog.syslog("This is a test")
如果我通过独立启动它直接将它运行到解释器中,请注意,我的/var/log/system.log中有一行
但是,如果我创建一个名为junk
的新文件并在其中输入python3 junk
,则表示没有错误,系统日志中没有任何内容。
我到处寻找解决方案。我以root身份运行,因此肯定不是权限问题(或者至少绝对不是可解决的问题)。
我根本不知道在哪里寻找一些反馈。我甚至尝试设置它,以便它也打印到stderr,它显示在stderr但不在日志文件中。我尝试设置它,以便如果它无法访问日志,它将使用stderr,但没有任何显示,所以很明显python 认为它与日志的对话。
有什么想法吗?
答案 0 :(得分:0)
我不知道为什么它直接用Python在MacOSX上工作(它不适合我)。但是,在添加优先级之后,它在Python解释器和单独的程序中对我有用。例如:
import syslog
syslog.syslog(syslog.LOG_ERR, 'bla')
可能是syslog()
使用的默认优先级,它在MacOSX中被过滤掉,因此它不会进入系统日志。