X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fmisc%2Flogger.c;h=e8347227c3d6ac559d8f1b92fc910acb68f36de6;hb=d09772f846f9250d7a1f04e58a48be8a76d8ece3;hp=377609b83125f53a06e3283f5fa74582c601b73d;hpb=7fda3fd95b4f3e255e16a38ad752b4da5e8ddce8;p=vlc diff --git a/modules/misc/logger.c b/modules/misc/logger.c index 377609b831..e8347227c3 100644 --- a/modules/misc/logger.c +++ b/modules/misc/logger.c @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include @@ -130,10 +130,6 @@ static const char *const mode_list_text[] = { N_("Text"), "HTML" "will be forwarded. Available choices are \"user\" (default), \"daemon\", " \ "and \"local0\" through \"local7\".") -#define LOGVERBOSE_TEXT N_("Verbosity") -#define LOGVERBOSE_LONGTEXT N_("Select the verbosity to use for log or -1 to " \ -"use the same verbosity given by --verbose.") - /* First in list is the default facility used. */ #define DEFINE_SYSLOG_FACILITY \ DEF( "user", LOG_USER ), \ @@ -158,6 +154,10 @@ enum { fac_entries = sizeof(fac_name)/sizeof(fac_name[0]) }; #endif +#define LOGVERBOSE_TEXT N_("Verbosity") +#define LOGVERBOSE_LONGTEXT N_("Select the verbosity to use for log or -1 to " \ +"use the same verbosity given by --verbose.") + vlc_module_begin () set_shortname( N_( "Logging" ) ) set_description( N_("File logging") ) @@ -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 ); @@ -373,8 +373,20 @@ static void Overflow (msg_cb_data_t *p_sys, msg_item_t *p_item, unsigned overrun if (verbosity == -1) verbosity = var_CreateGetInteger( p_sys->p_intf, "verbose" ); - if (verbosity < p_item->i_type) - return; + 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; + } + int canc = vlc_savecancel(); @@ -406,8 +418,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