Skip to content

logcategorieën meeschrijven in het /L-logbestand #1133

@jipclaassens

Description

@jipclaassens

logcategorieën meeschrijven in het /L-logbestand

Voor de tooltip-filter in het regressierapport (#13) wil ik logregels indelen op de categorieën die GeoDMS zelf al kent — net als de GUI-eventlog.

Probleem

De categorie + severity zitten al in MsgData (m_MsgCategory, m_SeverityType), en de console-output (logMsg, run/exe/src/MainRun.cpp) toont ze al. Maar het /L-logbestand schrijft enkel datum[thread]tekst, zonder categorie/severity. Daardoor moet de profiler nu op stringpatronen raden — fragiel (bv. lowercase depreciated werd gemist).

Voorstelrtc/dll/src/dbg/DebugStream.cpp, CDebugLog::DebugMsgCallback (~regel 671):

// huidig:
dl->m_Stream << '\n' << msgData->m_DateTime << "[" << msgData->m_ThreadID << "]" << msgData->m_Txt;

// voorstel: severity-char + categorie meeschrijven
// (dezelfde info die logMsg al naar de console schrijft)
dl->m_Stream << '\n' << msgData->m_DateTime
    << "[" << msgData->m_ThreadID << "]"
    << "[" << SeverityAsChar(msgData->m_SeverityType) << "]"
    << AsString(msgData->m_MsgCategory)
    << msgData->m_Txt;

Resultaat, bijvoorbeeld:

2026-06-13 15:00:17[1][C][progress]Depreciated mix-up of cases, tokenized 'Bool' as token 26 ...

Severity-chars (uit SeverityAsChar, run/exe/src/MainRun.cpp):

char severity char severity
N ST_Nothing W ST_Warning
. ST_MinorTrace E ST_Error
! ST_MajorTrace F ST_FatalError
C ST_CaseMixup D ST_DispError

Categorieën (uit AsString(MsgCategory), rtc/dll/src/dbg/DebugContext.cpp): [progress], [storage read], [storage write], [background layer connection], [background layer request], [memory], [commands], [other].

De profiler parseert dan categorie + severity rechtstreeks (GUI-pariteit). De "deprecation"-ruis blijkt:

melding severity bron
Depreciated mix-up of cases … C (ST_CaseMixup) rtc/dll/src/set/IndexedStrings.cpp
depreciated operator … used W (ST_Warning) tic/dll/src/MoreDataControllers.cpp

→ dus te filteren op severity, niet op een verzonnen categorie.

Aandachtspunten

  • Dit wijzigt het universele /L-logformaat van álle GeoDMS-tools, niet alleen de regressietest — bewust reviewen.
  • SeverityAsChar staat nu in run/exe/src/MainRun.cpp; voor gebruik in rtc verplaatsen naar een gedeelde plek (bv. naast AsString(MsgCategory) in DebugContext.cpp).
  • GeoDmsRun.exe moet opnieuw gebouwd + geïnstalleerd worden; pas daarna bevatten nieuwe logs de tags. Historische .bin-resultaten vallen terug op de string-heuristiek in de profiler.

@MaartenHilferink wat vind jij hiervan?

Originally posted by @jipclaassens in #13

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions