Skip to content

Logging details

WinMac edited this page Sep 19, 2025 · 1 revision

Logging Details

  • Lookup order for LogConfig and LogFolder: [General] then [Debug] (first non-empty wins).
  • Levels:
    • off / 0 / false: no output
    • basic / 1 / true: one config summary block to debugger (OutputDebugString) and to the log file if logging enabled
    • verbose / 2 : basic summary plus a per-item listing (Type, Label, Path, Icon, Params)
  • Dynamic log file name pattern: WinMacMenu_<configBase>_<yyMMdd-HHmm>.log where <configBase> is the INI filename without extension. Timestamp uses local time when config loads (first run of process).
  • Location: if LogFolder is set its expanded path is used (folder auto-created best-effort). Otherwise the executable directory.
  • Encoding: UTF-8 (no BOM) with newline per entry.
  • Legacy: LogConfig=true continues to map to basic. The former LogFile key is deprecated and replaced by LogFolder + dynamic naming (direct absolute filenames can be simulated by setting a dedicated empty folder path).
  • Dot-prefixed files (like .gitignore) are not extension-stripped (mirrors Explorer convention).
  • Keys now use positive logic: ShowFileExtensions / RecentShowExtensions (older HideExtensions / RecentHideExtensions still parsed and invert).
  • Precedence for recent items when RecentLabel=name:
    1. RecentShowExtensions=0 (or legacy RecentHideExtensions=1) → hide extension
    2. Else ShowFileExtensions=0 (or legacy HideExtensions=1) → hide extension
    3. Else extension shown
  • Folder listings & inline expansions ignore the recent-specific key and use only ShowFileExtensions (or legacy HideExtensions inversion).

Clone this wiki locally