Commit 020f9e53 authored by Konstantin Pavlov's avatar Konstantin Pavlov

logger: add --syslog-ident parameter.

By default VLC uses "vlc" as syslog ident but in case more than one VLC
is logging this may not be enough.

This commit introduces --syslog-ident parameter which allows setting of
the ident.

Based on patch by Georgi Chorbadzhiyski <gf@unixsol.org>.
parent 9c9a3bc8
...@@ -76,6 +76,7 @@ struct intf_sys_t ...@@ -76,6 +76,7 @@ struct intf_sys_t
{ {
FILE *p_file; FILE *p_file;
const char *footer; const char *footer;
char *ident;
}; };
/***************************************************************************** /*****************************************************************************
...@@ -117,6 +118,10 @@ static const char *const mode_list_text[] = { N_("Text"), "HTML" ...@@ -117,6 +118,10 @@ static const char *const mode_list_text[] = { N_("Text"), "HTML"
#define LOGMODE_LONGTEXT N_("Specify the logging format.") #define LOGMODE_LONGTEXT N_("Specify the logging format.")
#ifdef HAVE_SYSLOG_H #ifdef HAVE_SYSLOG_H
#define SYSLOG_IDENT_TEXT N_("Syslog ident")
#define SYSLOG_IDENT_LONGTEXT N_("Set the ident that VLC would use when " \
"logging to syslog.")
#define SYSLOG_FACILITY_TEXT N_("Syslog facility") #define SYSLOG_FACILITY_TEXT N_("Syslog facility")
#define SYSLOG_FACILITY_LONGTEXT N_("Select the syslog facility where logs " \ #define SYSLOG_FACILITY_LONGTEXT N_("Select the syslog facility where logs " \
"will be forwarded.") "will be forwarded.")
...@@ -162,6 +167,8 @@ vlc_module_begin () ...@@ -162,6 +167,8 @@ vlc_module_begin ()
false ) false )
change_string_list( mode_list, mode_list_text ) change_string_list( mode_list, mode_list_text )
#ifdef HAVE_SYSLOG_H #ifdef HAVE_SYSLOG_H
add_string( "syslog-ident", "vlc", SYSLOG_IDENT_TEXT,
SYSLOG_IDENT_LONGTEXT, true )
add_string( "syslog-facility", fac_name[0], SYSLOG_FACILITY_TEXT, add_string( "syslog-facility", fac_name[0], SYSLOG_FACILITY_TEXT,
SYSLOG_FACILITY_LONGTEXT, true ) SYSLOG_FACILITY_LONGTEXT, true )
change_string_list( fac_name, fac_name ) change_string_list( fac_name, fac_name )
...@@ -250,7 +257,16 @@ static int Open( vlc_object_t *p_this ) ...@@ -250,7 +257,16 @@ static int Open( vlc_object_t *p_this )
i_facility = fac_number[0]; i_facility = fac_number[0];
} }
openlog( "vlc", LOG_PID|LOG_NDELAY, i_facility ); char *psz_syslog_ident = var_InheritString( p_intf, "syslog-ident" );
if (unlikely(psz_syslog_ident == NULL))
{
free( p_sys );
return VLC_ENOMEM;
}
p_sys->ident = psz_syslog_ident;
openlog( p_sys->ident, LOG_PID|LOG_NDELAY, i_facility );
p_sys->p_file = NULL; p_sys->p_file = NULL;
} }
else else
...@@ -314,7 +330,10 @@ static void Close( vlc_object_t *p_this ) ...@@ -314,7 +330,10 @@ static void Close( vlc_object_t *p_this )
/* Close the log file */ /* Close the log file */
#ifdef HAVE_SYSLOG_H #ifdef HAVE_SYSLOG_H
if( p_sys->p_file == NULL ) if( p_sys->p_file == NULL )
{
closelog(); closelog();
free( p_sys->ident );
}
else else
#endif #endif
if( p_sys->p_file ) if( p_sys->p_file )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment