From 04b27302b0bde197bd78f84ba77f0736a48f152f Mon Sep 17 00:00:00 2001 From: megamage Date: Mon, 23 Mar 2009 20:09:55 -0600 Subject: *Add new log level "crash alarm" to record very dangerous errors. --HG-- branch : trunk --- src/shared/Log.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/shared/Log.cpp') diff --git a/src/shared/Log.cpp b/src/shared/Log.cpp index d0171a523fe..e443d10ed6c 100644 --- a/src/shared/Log.cpp +++ b/src/shared/Log.cpp @@ -402,6 +402,46 @@ void Log::outString( const char * str, ... ) fflush(stdout); } +void Log::outCrash( const char * err, ... ) +{ + if( !err ) + return; + + if (m_enableLogDB) + { + va_list ap2; + va_start(ap2, err); + char nnew_str[MAX_QUERY_LEN]; + vsnprintf(nnew_str, MAX_QUERY_LEN, err, ap2); + outDB(LOG_TYPE_CRASH, nnew_str); + va_end(ap2); + } + + if(m_colored) + SetColor(false,RED); + + UTF8PRINTF(stderr,err,); + + if(m_colored) + ResetColor(false); + + fprintf( stderr, "\n" ); + if(logfile) + { + outTimestamp(logfile); + fprintf(logfile, "CRASH ALARM:" ); + + va_list ap; + va_start(ap, err); + vfprintf(logfile, err, ap); + va_end(ap); + + fprintf(logfile, "\n" ); + fflush(logfile); + } + fflush(stderr); +} + void Log::outError( const char * err, ... ) { if( !err ) -- cgit v1.2.3