X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fmisc%2Flogger.c;h=0fe5459a0cf6871cc02099eaf2a3ca126950475c;hb=fdcdeaa3da38b09860fa0d8e8398e27468660f19;hp=be1cec2fdfeefefcd52680069b5db4a8e649ef69;hpb=40c3a9fd60956b814ca0ccd20068e96051cd5467;p=vlc diff --git a/modules/misc/logger.c b/modules/misc/logger.c index be1cec2fdf..0fe5459a0c 100644 --- a/modules/misc/logger.c +++ b/modules/misc/logger.c @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include @@ -94,7 +94,7 @@ struct intf_sys_t static int Open ( vlc_object_t * ); static void Close ( vlc_object_t * ); -static void Overflow (msg_cb_data_t *p_sys, msg_item_t *p_item, unsigned overruns); +static void Overflow (msg_cb_data_t *p_sys, const msg_item_t *p_item); static void TextPrint ( const msg_item_t *, FILE * ); static void HtmlPrint ( const msg_item_t *, FILE * ); #ifdef HAVE_SYSLOG_H @@ -165,17 +165,17 @@ vlc_module_begin () set_category( CAT_ADVANCED ) set_subcategory( SUBCAT_ADVANCED_MISC ) - add_file( "logfile", NULL, NULL, + add_savefile( "logfile", NULL, N_("Log filename"), N_("Specify the log filename."), false ) - add_string( "logmode", "text", NULL, LOGMODE_TEXT, LOGMODE_LONGTEXT, + add_string( "logmode", "text", LOGMODE_TEXT, LOGMODE_LONGTEXT, false ) change_string_list( mode_list, mode_list_text, 0 ) #ifdef HAVE_SYSLOG_H - add_string( "syslog-facility", fac_name[0], NULL, SYSLOG_FACILITY_TEXT, + add_string( "syslog-facility", fac_name[0], SYSLOG_FACILITY_TEXT, SYSLOG_FACILITY_LONGTEXT, true ) change_string_list( fac_name, fac_name, 0 ) #endif - add_integer( "log-verbose", -1, NULL, LOGVERBOSE_TEXT, LOGVERBOSE_LONGTEXT, + add_integer( "log-verbose", -1, LOGVERBOSE_TEXT, LOGVERBOSE_LONGTEXT, false ) add_obsolete_string( "rrd-file" ) @@ -203,7 +203,7 @@ static int Open( vlc_object_t *p_this ) p_sys->msg.p_intf = p_intf; p_sys->msg.i_mode = MODE_TEXT; - psz_mode = var_CreateGetString( p_intf, "logmode" ); + psz_mode = var_InheritString( p_intf, "logmode" ); if( psz_mode ) { if( !strcmp( psz_mode, "text" ) ) @@ -232,7 +232,7 @@ static int Open( vlc_object_t *p_this ) if( p_sys->msg.i_mode != MODE_SYSLOG ) { - char *psz_file = config_GetPsz( p_intf, "logfile" ); + char *psz_file = var_InheritString( p_intf, "logfile" ); if( !psz_file ) { #ifdef __APPLE__ @@ -261,7 +261,7 @@ static int Open( vlc_object_t *p_this ) /* Open the log file and remove any buffering for the stream */ msg_Dbg( p_intf, "opening logfile `%s'", psz_file ); - p_sys->msg.p_file = utf8_fopen( psz_file, "at" ); + p_sys->msg.p_file = vlc_fopen( psz_file, "at" ); if( p_sys->msg.p_file == NULL ) { msg_Err( p_intf, "error opening logfile `%s'", psz_file ); @@ -290,7 +290,7 @@ static int Open( vlc_object_t *p_this ) p_sys->msg.p_file = NULL; #ifdef HAVE_SYSLOG_H int i_facility; - char *psz_facility = var_CreateGetString( p_intf, "syslog-facility" ); + char *psz_facility = var_InheritString( p_intf, "syslog-facility" ); if( psz_facility ) { bool b_valid = 0; @@ -366,15 +366,26 @@ static void Close( vlc_object_t *p_this ) /** * Log a message */ -static void Overflow (msg_cb_data_t *p_sys, msg_item_t *p_item, unsigned overruns) +static void Overflow (msg_cb_data_t *p_sys, const msg_item_t *p_item) { - VLC_UNUSED(overruns); - int verbosity = var_CreateGetInteger( p_sys->p_intf, "log-verbose" ); + int verbosity = var_InheritInteger( p_sys->p_intf, "log-verbose" ); if (verbosity == -1) - verbosity = var_CreateGetInteger( p_sys->p_intf, "verbose" ); + verbosity = var_InheritInteger( p_sys->p_intf, "verbose" ); + + switch( p_item->i_type ) + { + case VLC_MSG_INFO: + case VLC_MSG_ERR: + if( verbosity < 0 ) return; + break; + case VLC_MSG_WARN: + if( verbosity < 1 ) return; + break; + case VLC_MSG_DBG: + if( verbosity < 2 ) return; + break; + } - if (verbosity < p_item->i_type) - return; int canc = vlc_savecancel(); @@ -406,8 +417,8 @@ static const char ppsz_type[4][11] = { static void TextPrint( const msg_item_t *p_msg, FILE *p_file ) { - fprintf( p_file, "%s%s%s\n", p_msg->psz_module, ppsz_type[p_msg->i_type], - p_msg->psz_msg ); + utf8_fprintf( p_file, "%s%s%s\n", p_msg->psz_module, + ppsz_type[p_msg->i_type], p_msg->psz_msg ); } #ifdef HAVE_SYSLOG_H @@ -417,11 +428,11 @@ static void SyslogPrint( const msg_item_t *p_msg ) int i_priority = i_prio[p_msg->i_type]; if( p_msg->psz_header ) - syslog( i_priority, "%s %s%s%s", p_msg->psz_header, p_msg->psz_module, - ppsz_type[p_msg->i_type], p_msg->psz_msg ); + syslog( i_priority, "[%s] %s%s%s", p_msg->psz_header, + p_msg->psz_module, ppsz_type[p_msg->i_type], p_msg->psz_msg ); else - syslog( i_priority, "%s%s%s", p_msg->psz_module, - ppsz_type[p_msg->i_type], p_msg->psz_msg ); + syslog( i_priority, "%s%s%s", + p_msg->psz_module, ppsz_type[p_msg->i_type], p_msg->psz_msg ); } #endif