Spdlog migration (#4069)

* spdlog migration

* gitmodule instead of cmake
This commit is contained in:
Niram7777 authored and GitHub committed 2026-04-19 00:57:05 +03:00
1 parent ed553054c6
commit 854b291c63
38 files changed
+853 -1372

No files matched your search

+24 -16
View File
@@ -58,30 +58,38 @@ You can configure the emulator by editing the `config.toml` file found in the `u
<details>
<summary>Some configuration entries worth changing</summary>
- `[General]`
- `logType`: Configures logging synchronization (`sync`/`async`)
- By default, the emulator logs messages asynchronously for better performance. Some log messages may end up being received out-of-order.
- It can be beneficial to set this to `sync` in order for the log to accurately maintain message order, at the cost of performance.
- When communicating about issues with games and the log messages aren't clear due to potentially confusing order, set this to `sync` and send that log as well.
- `logFilter`: Sets the logging category for various logging classes.
- Format: `<class>:<level> ...`
- Multiple classes can be set by separating them with a space. (example: `Render:Warning Debug:Critical Lib.Pad:Error`)
- `[Log]`
- `sync`: Log synchronously (`true`/`false`)
- By default `true`, the emulator logs messages synchronously to respect the order.
- It can be beneficial to set this to `false` for better performance.
- When communicating about issues with games and the log messages aren't clear due to potentially confusing order, set this to `true` and send that log instead.
- `filter`: Sets the logging category for various logging classes.
- Format: `<class>=<level>,...`
- Multiple classes can be set by separating them with a comma. (example: `Render=warning,Debug=critical,Lib.Pad=error`)
- Sub-classes can be specified in the same format as seen in the console/log (such as `Core.Linker`).
- All classes and sub-classes can be set by specifying a `*` symbol. (example: `Kernel.*:Critical`)
- Valid log levels: `Trace, Debug, Info, Warning, Error, Critical` - in this order, setting a level silences all levels preceding it and logs every level after it.
- Valid log levels: `trace, debug, info, warning, error, critical` - in this order, setting a level silences all levels preceding it and logs every level after it.
- Examples:
- If the log is being spammed with messages coming from Lib.Pad, you can use `Lib.Pad:Critical` to only log critical-level messages.
- If you'd like to mute everything, but still want to receive messages from Vulkan rendering: `*:Critical Render.Vulkan:Info`
- `isIdenticalLogGrouped`: Group same logs in one line with a counter (`true`/`false`)
- By default, the emulator will not rewrite the same line, and instead add a counter.
- If the log is being spammed with messages coming from Lib.Pad, you can use `Lib.Pad=critical` to only log critical-level messages.
- If you'd like to mute everything, but still want to receive messages from Vulkan rendering: `off,Render.Vulkan=info` (if you want critical at least `critical,Render.Vulkan=info`)
- `skipDuplicate`: Skip same lines with a `Skipped N duplicate messages..` message (`true`/`false`)
- By default, the emulator will skip same lines for `maxSkipDuration` milliseconds.
- `append`: Append log to the existing file (`true`/`false`)
- By default, the emulator will overwrite the log file. (it can also be by-passed with CLI `--log-append`)
- `separate`: Write log to `log/{GAME ID}.log` instead of `log/shad_log.txt` (`true`/`false`)
- By default, the emulator use `log/shad_log.txt`.
- `maxSkipDuration`: Amount of time in which identical lines will not be logged (milliseconds).
- By default, 5'000 milliseconds.
- `sizeLimit`: Size limit for log files (bytes).
- By default, 100 MB.
- `type`: Choose between `wincolor` (WriteConsole*) and `msvc` (OutputDebugString*) - only for Windows.
- By default, `wincolor`.
- `Fullscreen`: Display the game in a full screen borderless window.
- `[GPU]`
- `dumpShaders`: Dump shaders that are loaded by the emulator. Dump path: `../user/shader/dumps`
- `nullGpu`: Disables rendering.
- `screenWidth` and `screenHeight`: Configures the game window width and height.
- `Fullscreen`: Display the game in a full screen borderless window.
- `[Vulkan]`
- `validation`-related settings: Use when debugging Vulkan.