aboutsummaryrefslogtreecommitdiff
path: root/src/shared/Log.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-03-23 20:09:55 -0600
committermegamage <none@none>2009-03-23 20:09:55 -0600
commit04b27302b0bde197bd78f84ba77f0736a48f152f (patch)
treed69ed3646e1ab129842fc830ae8cb9740945e93d /src/shared/Log.cpp
parent84d0aae7fcc33cd1eb19bdb9f56c9a8014d0f759 (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.cpp40
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 )