[pulseaudio-discuss] [PATCH 0/2] Log: Set log target improvement

Shuai Fan shuai900217 at 126.com
Mon May 20 08:49:48 PDT 2013


Currently, the "set log target" operation is supported only by pacmd, and the "newfile" target is only supported when it's given as a command line parameter to the daemon or in daemon.conf. In order to support all targets with different interfaces(command line, daemon.conf, pacmd, pactl), the target parsing should be centralized in pulsecore/log.c. Also, enum pa_log_target_t has PA_LOG_FD for logging to a file descriptor. When setting log target "file:PATH" or "newfile:PATH" within cli-command.c and daemon-conf.c, both of them use PA_LOG_FD points to a file descriptor. Which is not so good, because the same interface is used for two different targets. The log target interface needs to be extended by replacing PA_LOG_FD with PA_LOG_FILE and PA_LOG_NEWFILE. And if user wants to log to file, the file path is needed too. So it is better to have a pa_log_target struct.
    typedef struct {
        pa_log_target_type_t type;
            char *file;
    } pa_log_target;
the pa_log_target_type_t is current enum pa_log_target_t. And pa_log_target_type_t is extended to support PA_LOG_FILE and PA_LOG_NEWFILE.

On the other hand, the pa_log_set_target function needs to be changed, and a new function 
    pa_log_target *pa_log_parse_target(const char *string)
is needed. Also, it is better to add two functions 
    pa_log_target *pa_log_target_new(pa_log_target_type_t type, const char *file)
to construct new log target, and 
    void pa_log_target_free(pa_log_target *t)
to release one log target.

Bugzilla - Bug 58389
https://bugs.freedesktop.org/show_bug.cgi?id=58389


Shuai Fan (2):
  Set log target improvement
  Modified pacmd to use new pa_log_set_target

 src/daemon/daemon-conf.c    |  75 +++++----------------
 src/daemon/daemon-conf.h    |   3 +-
 src/daemon/main.c           |  11 +--
 src/pulsecore/cli-command.c |  43 ++++++------
 src/pulsecore/log.c         | 161 ++++++++++++++++++++++++++++++++++++++++++--
 src/pulsecore/log.h         |  22 ++++--
 6 files changed, 217 insertions(+), 98 deletions(-)

-- 
1.8.1.3




More information about the pulseaudio-discuss mailing list