X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Flogging.c;h=507ff07cf70ac01d69eabebd04e28ac2c7e5afeb;hb=05dcc886a503b09aeddaed02a063c2a87c39cd9a;hp=f4a23b4bd312a2987c7517701d487250071ad347;hpb=85eb17b306404571aa39596946c87ad9bb1d9d13;p=tpg%2Facess2.git diff --git a/Kernel/logging.c b/Kernel/logging.c index f4a23b4b..507ff07c 100644 --- a/Kernel/logging.c +++ b/Kernel/logging.c @@ -54,10 +54,8 @@ void Log_Warning(char *Ident, char *Message, ...); void Log_Notice(char *Ident, char *Message, ...); void Log_Log(char *Ident, char *Message, ...); void Log_Debug(char *Ident, char *Message, ...); -//static Uint64 Log_Int_GetIdent(const char *Str); // === EXPORTS === -EXPORT(Log_KernelPanic); EXPORT(Log_Panic); EXPORT(Log_Error); EXPORT(Log_Warning); @@ -67,6 +65,7 @@ EXPORT(Log_Debug); // === GLOBALS === tSpinlock glLog; +tSpinlock glLogOutput; tLogList gLog; tLogList gLog_Levels[NUM_LOG_LEVELS]; @@ -78,10 +77,12 @@ void Log_AddEvent(char *Ident, int Level, char *Format, va_list Args) { int len; tLogEntry *ent; + va_list args_tmp; if( Level >= NUM_LOG_LEVELS ) return; - len = vsnprintf(NULL, 256, Format, Args); + va_copy(args_tmp, Args); + len = vsnprintf(NULL, 256, Format, args_tmp); //Log("len = %i", len); @@ -122,7 +123,7 @@ void Log_AddEvent(char *Ident, int Level, char *Format, va_list Args) */ void Log_Int_PrintMessage(tLogEntry *Entry) { - LogF("%s%018lli%s [%+8s] %s\x1B[0m\n", + LogF("%s%014lli%s [%+8s] %s\x1B[0m\n", csaLevelColours[Entry->Level], Entry->Time, csaLevelCodes[Entry->Level],