在 Mac OS X 的 Console.app 上,我尝试查找软件组件中的问题时收到以下消息:
28.07.10 12:09:25 [0x0-0x1ed1ed].org.eclipse.eclipse[6803] *** process 6803 exceeded 500 log message per second limit - remaining messages this second discarded ***
(它是基于eclipse osgi框架的软件)。
有没有办法摆脱这个 500 条消息的限制?我想查看生成的所有消息(我无法限制消息数量,因为它是第三方程序)。
谢谢,问候,迈克尔
答案1
知道了!
通过添加进行编辑
/System/Library/LaunchDaemons/com.apple.syslogd.plist
:<string>-mps_limit</string>
<string>0</string>
到程序参数部分(以下行之下):
<string>/usr/sbin/syslogd</string>
使用以下命令重新启动 syslog 守护程序:
launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist; sleep 1; launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
值为 0 表示禁用限制。默认值为每秒 500 条消息。
PS:如果无法直接编辑文件,请将其复制到临时目录,进行编辑,然后使用 sudo 将其复制到原始位置。
答案2
作为 Michael Mangeng 答案的更新,在 macOS El Capitan 及更高版本上,该/System/Library/LaunchDaemons/com.apple.syslogd.plist
文件是二进制文件,因此步骤变为:
编辑
/System/Library/LaunchDaemons/com.apple.syslogd.plist
使用defaults
:defaults write /System/Library/LaunchDaemons/com.apple.syslogd.plist ProgramArguments -array-add -mps_limit 0
如果
defaults
出现Unexpected argument -mps_limit
错误,您可以使用以下内容重写完整的 ProgramArguments 数组:defaults write /System/Library/LaunchDaemons/com.apple.syslogd.plist ProgramArguments -array /usr/sbin/syslogd -mps_limit 0
用于
defaults read /System/Library/LaunchDaemons/com.apple.syslogd.plist
确认 ProgramArguments 键是否正确重新启动 syslog 守护进程:
launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist; launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist