summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Logging
AgeCommit message (Collapse)Author
2018-08-28Fix reducing log paths when building with MSVCJosJuice
The LogManager code had trouble detecting the "/Source/Core/" substring for two reasons, neither of which seemed to happen a few years ago: 1. __FILE__ is in lowercase on MSVC 2. __FILE__ uses backslash as the directory separator on MSVC Fixes https://bugs.dolphin-emu.org/issues/11366
2018-08-11LogManager: Change Master Log short nameVincent Duvert
Change the Master Log short name from “*” to “MASTER”. This fixes saving the master log enable state, as INI files may not start with *.
2018-05-27Common: Remove unnecessary ~9 year old LOGGING preprocessor defineLioncash
This was added in 4bdb4aa0d1c8520488583ba79c9f5ab6e5656eca back in 2009-02-27. The only usage spot of this macro involves the same checks that were used to define that preprocessor macro, so we can simply remove the macro
2018-05-12Config: Fix template deduction for implicit conversionsLéo Lam
This excludes the second argument from template deduction. Otherwise, it is required to manually cast the second argument to the ConfigInfo type (because implicit conversions won't work). e.g. to set the value for a ConfigInfo<std::string> from a string literal, you'd need a ugly `std::string("yourstring")`.
2018-04-16Common/Logging/Log: Wrap GENERIC_LOG macro's body in do { } while (0)Lioncash
Enforces the termination of GENERIC_LOGs with semicolons.
2018-04-12Reformat all the things!spycrab
2018-03-31Log: Rename IOS_FILEIO to IOS_FSLéo Lam
Let's use the actual name of the system module. Also, the FS code is not all about files.
2018-03-31IOS: Rewrite FS to use FileSystemLéo Lam
This is the large change in the branch. This lets us use either the host filesystem or (in the future) a NAND image exactly the same way, and make sure the IPC emulation code behaves identically. Less duplicated code. Note that "FileIO" and "FS" were merged, because it actually doesn't make a lot of sense to split them: IOS handles requests for both /dev/fs and files in the same resource manager, and as it turns out, /dev/fs commands can *also* be sent to non /dev/fs file descriptors! If we kept /dev/fs and files split, there would be no way to emulate that correctly. I'm not aware of anything that does that (yet?) but I think it's important to be correct.
2018-03-22Add a log type for Symbols and move symbols related logs to italdelaro5
This fix the awkwardness of having the symbols detection, parsing and loading related logs be in OS HLE while they don't have anything to do with that.
2017-08-22Remove NonCopyableJosJuice
The class NonCopyable is, like the name says, supposed to disallow copying. But should it allow moving? For a long time, NonCopyable used to not allow moving. (It declared a deleted copy constructor and assigment operator without declaring a move constructor and assignment operator, making the compiler implicitly delete the move constructor and assignment operator.) That's fine if the classes that inherit from NonCopyable don't need to be movable or if writing the move constructor and assignment operator by hand is fine, but that's not the case for all classes, as I discovered when I was working on the DirectoryBlob PR. Because of that, I decided to make NonCopyable movable in c7602cc, allowing me to use NonCopyable in DirectoryBlob.h. That was however an unfortunate decision, because some of the classes that inherit from NonCopyable have incorrect behavior when moved by default- generated move constructors and assignment operators, and do not explicitly delete the move constructors and assignment operators, relying on NonCopyable being non-movable. So what can we do about this? There are four solutions that I can think of: 1. Make NonCopyable non-movable and tell DirectoryBlob to suck it. 2. Keep allowing moving NonCopyable, and expect that classes that don't support moving will delete the move constructor and assignment operator manually. Not only is this inconsistent (having classes disallow copying one way and disallow moving another way), but deleting the move constructor and assignment operator manually is too easy to forget compared to how tricky the resulting problems are. 3. Have one "MovableNonCopyable" and one "NonMovableNonCopyable". It works, but it feels rather silly... 4. Don't have a NonCopyable class at all. Considering that deleting the copy constructor and assignment operator only takes two lines of code, I don't see much of a reason to keep NonCopyable. I suppose that there was more of a point in having NonCopyable back in the pre-C++11 days, when it wasn't possible to use "= delete". I decided to go with the fourth one (like the commit title says). The implementation of the commit is fairly straight-forward, though I would like to point out that I skipped adding "= delete" lines for classes whose only reason for being uncopyable is that they contain uncopyable classes like File::IOFile and std::unique_ptr, because the compiler makes such classes uncopyable automatically.
2017-08-16WFS: Use a separate log type for WFS related logsLéo Lam
Makes it easier to turn off general IOS messages that can be distracting (e.g. /dev/net/ssl being opened hundreds of time...) without losing the ability to view WFS messages.
2017-07-27LogManager: remove stand-alone semicolonligfx
My bad!
2017-07-09LogManager: use layered configMichael Maltese
2017-07-09remove commented-out FileLogListener::GetNameMichael Maltese
2017-07-07LogManager: add SaveSettingsMichael Maltese
2017-07-07LogManager: make LogContainer a POD and don't allocateMichael Maltese
2017-07-07LogManager: remove per-container listenersMichael Maltese
2017-07-07LogManager: remove per-container verbositiesMichael Maltese
2017-07-07LogManager: clean up headerMichael Maltese
2017-06-17LogManager: Check if listener is valid before using itLéo Lam
2017-06-17Logging: Remove duplicated codeLéo Lam
2017-06-17Logging: Move verbosity setting code to LogManagerLéo Lam
No clue why it was in DolphinWX.
2017-06-15Add a namespace to OpenFStreamJosJuice
For consistency with the other functions in FileUtil.h.
2017-05-27Add CubebUtils namespace and hook up cubeb loggingMichael Maltese
2017-03-05Logging: Add CORE typeLéo Lam
2017-02-05IOS: Re-implement USB_HIDv4 (/dev/usb/hid)Léo Lam
This reimplements the USB HID v4 IOS device using the new common USB code (to reuse more code and allow emulated HIDs to be added more easily in the future). The main difference is that HIDs now have to be whitelisted, like every other USB device for OH0 and VEN.
2017-01-23Add includes for building on Windows without PCHMichael Maltese
2017-01-20IOS: Move out common USB structuresLéo Lam
Some structures will be reused and shared between several IOS USB device implementations. This prepares for the upcoming USB PR. I've also removed GetPointer calls in the trivial case (BT passthrough)
2017-01-18Update log types names from IPC_HLE to IOSLéo Lam
For consistency with the other changes. WII_IPC_DVD was changed to IOS_DI, as this describes what the log type is used for in a more specific way.
2016-10-04Reduces the the filename of logsaldelaro5
Using cmake and GCC, logs would contain the full file path when logging making logs lines unnecessarily long. This is solved by just removing anything before "/Source/Core/" (where / is whatever your OS uses to separated directory).
2016-09-25Enable the log level LINFO in every buildsaldelaro5
It didn't really made sense to disable 2 logs levels in releases builds while the level LDEBUG should really be where logs that would impact performance be. Info should be logs that report potentially usefull information and debug should report info that would only be usefull in debug context as they are called very often. To make this work, a lot of info log would have to be made debug log. It also avoid inaccurate logs level done due to not using debug builds. While searching through the code, I saw a ton of logs that should have been info log, likely done to avoid using a debug build (which shouldn't happen considering the level debug exists anyway). The whole idea is to have more meaningful logs in release builds while maintaining minimal performance loss from choosing the highest level. This could potentially help to diagnose issues or to know more about what the emulator is actually doing. The next commit aims to sort the log levels for this purpose.
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-01-21A few more asterisks, mostly castsmathieui
2016-01-21More asterisksmathieui
2016-01-21Common: asterisks go against the type namemathieui
not the variable name
2015-12-03Merge pull request #3126 from phire/remove-logging-lockScott Mansell
Refactor logging code to get rid of a mutex.
2015-10-04LogManager: Move android logcat code into the proper place.Scott Mansell
2015-10-04Bitset: Make bool() operator explicit.Scott Mansell
2015-10-04LogManager: Remove unused define.Scott Mansell
2015-10-04LogManager: replace set of LogListener pointers with bitset.Scott Mansell
Mostly so we can iterate over which LogListeners are enabled without having to aquire a lock.
2015-09-28Fix building with PCH disabled.Rohit Nirmal
2015-09-26Common: Remove other Common prefixed headers from Common.hLioncash
2015-09-26Common: Move asserts to their own headerLioncash
2015-09-26Common: Move NonCopyable to its own headerLioncash
2015-09-10Remove unused log type.Scott Mansell
2015-09-10Rearrange the logtypes into something closer to alphabetical order.Scott Mansell
Also fix up a few of the long names.
2015-09-10Split OpenGL errors into a separate logtype from Video errors.Scott Mansell
Allows them to be enabled/disabled separately.
2015-09-04Fix building with PCH disabled.Rohit Nirmal
2015-07-08Fix building with PCH disabled.Rohit Nirmal
2015-06-24Logging: trigger _assert_() in release buildsTillmann Karras