pulseaudio有错误日志吗?

为了帮助我提供有关浏览器和Pulse音频的其他问题的更好信息,我想知道是否可以获得某种有用的日志信息。

但是, /var/log似乎没有与Pulse音频相关的任何日志文件,至少不是我能看到的,也可能不是默认情况下。

我可以从我的浏览器或Pulse音频(使用网络服务器)获得某种日志输出,这样我可以查看是否有任何错误或有用的消息?

这是man pulseaudio的摘录

  --log-level[=LEVEL] If an argument is passed, set the log level to the specified value, otherwise increase the configured verbosity level by one. The log levels are numerical from 0 to 4, corresponding to error, warn, notice, info, debug. Default log level is notice, ie all log messages with lower log levels are printed: error, warn, notice. -v Increase the configured verbosity level by one (see --log-level above). Specify multiple times to increase log level multiple times. --log-target={auto,syslog,stderr} Specify the log target. If set to auto (which is the default), then logging is directed to syslog when --daemonize is passed, otherwise to STDERR. 

所以,回答你的问题。 不,默认情况下它没有日志,它将日志输出作为守护进程(当它在后台运行时)发送到syslog ,或者当它在终端中运行时发送到STDERR (也就是说,你看到终端中的输出)。

您有三个选项(可能)在一个不错的包中获取所需的日志信息:

  • 在终端中使用它

  • 请参阅(和upvote:P)另一个答案 ,了解从syslog过滤掉pulseaudio输出的好方法。

要么

  • 尝试将--log-target=更改为新的日志文件(位于/var/log/我假设。您可能想先创建一个空文件)。 我没试过这个,所以它可能不起作用……

对于任一选项,您还可以传递-v--log-level=以获取更多调试信息(如果需要)。

编辑:我刚刚意识到尝试将参数传递给pulseaudio是一件痛苦的事情,因为它会在你杀死它时立即自动生成一个新的守护进程。 代替….

要在不关闭autospawn的情况下更改默认日志行为:

编辑/etc/pulse/daemon.conf (具有sudo权限)并根据需要取消注释并修改这些日志设置。

 ; log-target = auto ; log-level = notice ; log-meta = no ; log-time = no ; log-backtrace = 0 

要关闭autospawn,您可以在终端中运行它:

尝试编辑/etc/pulse/client.conf (也使用sudo权限)并取消注释; autospawn = yes ; autospawn = yes并将; autospawn = yes更改为no 。 我没有测试过这个,所以我不知道它是否会起作用。

禁用autospawn后,使用pulseaudio --kill –kill杀死守护进程并再次启动pulseaudio (使用您想要传递的任何选项)。 希望这个有效!

我已经能够在syslog找到Pulse Audio的一些输出。 我不认为Pulse Audio有一些单独的日志文件。 如果要调试它,可能需要禁用autorespaw(进程在崩溃时始终自动重新启动),使用verbose参数启动它,并记录输出。

无论如何,这是我找到一些输出的方式: cat /var/log/syslog* | grep -i pulse cat /var/log/syslog* | grep -i pulse

同时,pulseaudio 3.0可以登录文件。

pulseaudio --help输出:

 --log-target={auto,syslog,stderr,file:PATH,newfile:PATH}