diff options
author | jbrjake <[email protected]> | 2008-10-09 00:16:14 +0000 |
---|---|---|
committer | jbrjake <[email protected]> | 2008-10-09 00:16:14 +0000 |
commit | 45307049935e7f3a991957d35f699bb00a288a5b (patch) | |
tree | 982b2af1c3a6ab45c5af29b6ffcd208bf4d7a64f /libhb/common.c | |
parent | a6f41219f1a6251da2ae5d31202b88adcce1ffc2 (diff) |
Adds an hb_deep_log() function for multiple levels of debugging verbosity. Level 1 displays when hb_log does (job->verbose == 1) and is now meant for logging that helps in tech support. Level 2 adds memory-related logging like freed buffers, and level 3 is for granular stuff that displays once per sample, frame, packet, etc. The debug level continues to be set when hb_init() is called.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1819 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/common.c')
-rw-r--r-- | libhb/common.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libhb/common.c b/libhb/common.c index f0ad9e4a2..073abb977 100644 --- a/libhb/common.c +++ b/libhb/common.c @@ -549,6 +549,44 @@ void hb_log( char * log, ... ) fprintf( stderr, "%s", string ); } +int global_verbosity_level; //Necessary for hb_deep_log +/********************************************************************** + * hb_deep_log + ********************************************************************** + * If verbose mode is >= level, print message with timestamp. Messages + * longer than 360 characters are stripped ;p + *********************************************************************/ +void hb_deep_log( hb_debug_level_t level, char * log, ... ) +{ + char string[362]; /* 360 chars + \n + \0 */ + time_t _now; + struct tm * now; + va_list args; + + if( global_verbosity_level < level ) + { + /* Hiding message */ + return; + } + + /* Get the time */ + _now = time( NULL ); + now = localtime( &_now ); + sprintf( string, "[%02d:%02d:%02d] ", + now->tm_hour, now->tm_min, now->tm_sec ); + + /* Convert the message to a string */ + va_start( args, log ); + vsnprintf( string + 11, 349, log, args ); + va_end( args ); + + /* Add the end of line */ + strcat( string, "\n" ); + + /* Print it */ + fprintf( stderr, "%s", string ); +} + /********************************************************************** * hb_error ********************************************************************** |