Ubuntu – Does pulseaudio have an error log

browserloggingpulseaudio

In order to help provide better information for my other question about browsers and Pulse audio, I wanted to see if I could get some kind of helpful log information.

However, there doesn't seem to be any log file in /var/log related to Pulse audio, at least not that I can see, and maybe not by default.

Can I get some kind of log output I can turn on, either from my browser, or from Pulse audio (which is using a network server) so I can see if there are any errors or helpful messages?

Best Answer

This is an excerpt from 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.

So, to answer your question. No, by default it does not have a log, it sends its log output to syslog as a daemon (when its running in the background), or to STDERR when its run in the terminal (aka, you see the output in the terminal.

You have three options (potentially) to get the log information you need in one nice package:

  • Use it in the terminal

  • See (and upvote :P) the other answer for a good trick for filtering out the pulseaudio output from syslog.

or

  • Trying changing the --log-target= to a new log file (located in /var/log/ I'm assuming. You probably want to create an empty file first). I haven't tried this, so it might not work...

For either option you can also pass -v or --log-level= to get more debugging info if needed.

Edit: I just realized that it is a pain to try and pass arguments to pulseaudio as it autospawns a new daemon immediately whenever you kill it. Instead....

To change the default log behavior without turning off autospawn:

edit /etc/pulse/daemon.conf (with sudo permissions) and uncomment and modify these log settings as desired.

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

To turn off autospawn so you can run it in a terminal:

try editing /etc/pulse/client.conf (also with sudo permissions) and uncommenting ; autospawn = yes and changing the yes to no. I haven't tested this so I don't know if it will work.

After disabling autospawn kill the daemon with pulseaudio --kill and start it again pulseaudio (with any options you want to pass). Hope this works!

Related Question