diff options
| author | megamage <none@none> | 2009-03-23 20:09:55 -0600 | 
|---|---|---|
| committer | megamage <none@none> | 2009-03-23 20:09:55 -0600 | 
| commit | 04b27302b0bde197bd78f84ba77f0736a48f152f (patch) | |
| tree | d69ed3646e1ab129842fc830ae8cb9740945e93d /src/shared/Log.cpp | |
| parent | 84d0aae7fcc33cd1eb19bdb9f56c9a8014d0f759 (diff) | |
*Add new log level "crash alarm" to record very dangerous errors.
--HG--
branch : trunk
Diffstat (limited to 'src/shared/Log.cpp')
| -rw-r--r-- | src/shared/Log.cpp | 40 | 
1 files changed, 40 insertions, 0 deletions
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 )  | 
