如何禁用/设置日志记录级别/首选项 PER Mac OS X 应用程序?

mra*_*ray 4 console launchd syslogd asl macos

我发现我的 Mac 的 syslogd“Cosole”日志变得无法使用,当一些写得不好的应用程序(在这种情况下是PathFinder.app)整天不断地涌入 syslogd 时......

  1. 创建别名到可执行束的应用“包”,然后只启动该别名从终端。过程是...浏览到/Applications/ObnoxiousLogger.app,右键单击,“显示包内容”,然后浏览到...

    /Applications/ObnoxiousLogger.app/Contents/MacOS/ObnoxiousLogger

    然后您通过 GUI 创建别名并记住始终从该别名启动应用程序,再次仅通过终端。

    这很烦人,因为您必须通过 Finder 创建别名(符号链接不起作用,并且无法通过终端创建别名)。如果它以任何其他方式启动,你又回到了原点口误......这种方法确实有效,但时间很短。

  2. 似乎您可以通过launchctl命令或 plist 变量来设置它,但这不是由 launchd 打开的应用程序,而且 launchd 的文档无处不在,但我想这是一种可能性,我认为。

  3. 我看到了一些关于将日志发送到 /dev/null 的内容,但不清楚这是某种 syslogd 管道、命令、/etc/syslogd.conf 设置,还是什么......

请让我知道您是否有一种可靠的方法来选择性地使每个应用程序的日志记录静音,或者更好的是,增加或减少 Mac OS X 中每个进程/命令等的日志记录详细程度

小智 5

您可能想看看asl.conf(5)哪个允许您在相当细粒度的级别上忽略/处理日志消息。

就像是:

? [= Sender ObnoxiousLogger] ignore
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩。如果您仍然想看到来自令人讨厌的发件人的更严重的消息,请参考以下内容:

? [= Sender ObnoxiousLogger] [> Level error] ignore
Run Code Online (Sandbox Code Playgroud)

可能更合适。

注意:编辑后/etc/asl.conf,不要忘记kill -HUP你的 syslogd。