mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-26 00:05:58 +03:00
[PR #86] [MERGED] common: Rewrite logging based on cut down citra logger #1279
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#1279
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/shadps4-emu/shadPS4/pull/86
Author: @raphaelthegreat
Created: 2/26/2024
Status: ✅ Merged
Merged: 2/27/2024
Merged by: @raphaelthegreat
Base:
main← Head:new-log📝 Commits (7)
06a19accommon: Rewrite logging based on cut down Citra logger29be827code: Misc fixes6f96a03core: Bring back tls handler6292525linker: Cleanup95ca0ebconfig: Remove log level8a093aelogging: Enable console output by defaulta561c58core: Fix windows build📊 Changes
70 files changed (+3166 additions, -1495 deletions)
View changed files
📝
.github/workflows/windows.yml(+1 -1)📝
.gitmodules(+0 -4)📝
CMakeLists.txt(+28 -6)📝
src/Util/config.cpp(+8 -6)📝
src/Util/config.h(+1 -1)➕
src/common/assert.cpp(+18 -0)➕
src/common/assert.h(+84 -0)➕
src/common/bounded_threadsafe_queue.h(+248 -0)➕
src/common/concepts.h(+31 -0)➕
src/common/error.cpp(+57 -0)➕
src/common/error.h(+21 -0)➖
src/common/fs_file.cpp(+0 -96)➖
src/common/fs_file.h(+0 -86)📝
src/common/io_file.cpp(+281 -87)📝
src/common/io_file.h(+191 -29)➖
src/common/log.cpp(+0 -159)➖
src/common/log.h(+0 -42)➕
src/common/logging/backend.cpp(+277 -0)➕
src/common/logging/backend.h(+27 -0)➕
src/common/logging/filter.cpp(+173 -0)...and 50 more files
📄 Description
Reworks the previous system and introduces a new logger based on citra. From my view this has multiple benefits:
I've also imported some additional handy utilities, such as the assertion macros. These are useful for reducing code bloat when checking conditions that should abort the program if they fail, are generally more reliable than normal C asserts and express intent better.
Finally added a small filesystem library based on the excellent filesystem layer yuzu has. It's quite a small subset for now, as the emulator is still quite young and doesn't need much, but these will be very useful for general config and frontend work, filesystem emulation as well (can that be LLEed?). It's a thin wrapper over std::filesystem that does some simple error checking which can be better viewed in the logs and eliminates the exceptions normally thrown by the filesystem API by using error_codes. Other than that, the only other change is that the config file alongside any data shad needs in the future is now stored in a dedicated user folder next to the application, so it can be easily moved in the future.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.