pulseaudio 有错误日志吗?

pulseaudio 有错误日志吗?

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

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

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

答案1

以下摘录自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,
          i.e. 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当它在终端中运行时发送(也就是说,你在终端中看到输出)。

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

  • 在终端中使用它

  • 查看(并点赞 :P)其他回答以获得从中滤除 pulseaudio 输出的好技巧syslog

或者

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

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

编辑:我刚刚意识到尝试将参数传递给 pulseaudio 是一件很麻烦的事情,因为每当你杀死它时它都会立即自动生成一个新的守护进程。相反......

要更改默认日志行为而不关闭自动生成:

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

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

要关闭自动生成以便可以在终端中运行它:

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

禁用自动生成后,用 终止守护进程pulseaudio --kill并重新启动它pulseaudio(使用您想要传递的任何选项)。希望这有效!

答案2

我在 中找到了一些来自 Pulse Audio 的输出syslog。我认为 Pulse Audio 没有单独的日志文件。如果要调试它,您可能需要禁用 autorespaw(每次崩溃时都会自动重新启动该进程),使用参数启动它verbose,然后记录输出。

无论如何,这就是我发现的一些输出:cat /var/log/syslog* | grep -i pulse

答案3

同时,pulseaudio 3.0可以记录到文件。

pulseaudio --help输出来看:

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

相关内容