Commit Graph

50 Commits

Author SHA1 Message Date
Lioncash 425f2aa013 Common/Log: Add basic fmt-capable functions to the interface.
Provides a basic extension to the interface to begin migration off of
the printf-based logging system.

Everything will go through macros with the same style naming as the old
logging system, except the macros will have the _FMT suffix, while the
migration is in process.

This allows for peacemeal migration over time instead of pulling
everything out and replacing it all in a single pull request, which
makes for much easier reviewing.
2020-10-21 10:49:35 -04:00
Ryan Meredith fdcc6a436b Android: Add Log Configuration to UI 2020-07-24 13:59:13 -04:00
Ryan Meredith 2a70d86d55 Replace some acronyms 2020-06-14 08:37:24 -04:00
Léo Lam 19da101164 Remove redundant Config prefix from ConfigInfo/ConfigLocation
Both structs are already in the Config namespace.
2020-05-02 14:40:14 +02:00
Lioncash c792961000 Common: Unify logging namespace with Common
Previously the logging was a in a little bit of a disarray. Some things
were in namespaces, and other things were not.

Given this code will feature a bit of restructuring during the
transition over to fmt, this is a good time to unify it under a single
namespace and also remove functions and types from the global namespace.

Now, all functions and types are under the Common::Log namespace. The
only outliers being, of course, the preprocessor macros.
2019-11-28 05:13:21 -05:00
Lioncash 5b92d5076a
Common: Use fmt where applicable
Begins the transition to using fmt for string formatting where
applicable. Given fmt supports formatting std::string instances out of
the box, we can remove now-unnecessary calls to .c_str() and .data().

Note that this change does not touch the actual logging subsystem aside
from converting the final StringFromFormat call in the process over to
fmt::format. Given our logging system is heavily used throughout the
entire codebase, and converting that over will be quite a large change
by itself, this will be tackled near the end of the conversion process.
2019-06-14 15:04:09 -04:00
Léo Lam 453c1d4170 Qt/LogConfigWidget: Show log type short names
Makes it easier for users to determine which option they need to
enable/disable as log messages only show the short name.
2019-05-11 16:05:22 +02:00
Jordan Woyak bbc6bf5294 Common/Config: Add a utility class to suppress config change callbacks. 2019-03-03 17:35:22 -06:00
JosJuice fbdc239199 Fix reducing log paths when building with MSVC
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-28 11:48:43 +02:00
Vincent Duvert e2a557e739 LogManager: Change Master Log short name
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-08-11 18:37:33 +02:00
Léo Lam 7dca7c237e Config: Fix template deduction for implicit conversions
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-05-12 14:30:18 +02:00
spycrab 40bb9974f2 Reformat all the things! 2018-04-12 21:28:39 +02:00
Léo Lam de15e09a4f Log: Rename IOS_FILEIO to IOS_FS
Let's use the actual name of the system module.

Also, the FS code is not all about files.
2018-03-31 10:58:37 +02:00
Léo Lam 5a7b966b6d IOS: Rewrite FS to use FileSystem
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-31 10:58:37 +02:00
aldelaro5 c54e56793a
Add a log type for Symbols and move symbols related logs to it
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.
2018-03-22 14:57:28 -04:00
Léo Lam 4b4e488189 WFS: Use a separate log type for WFS related logs
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-08-16 22:27:29 +02:00
ligfx 2f932273bb LogManager: remove stand-alone semicolon
My bad!
2017-07-27 21:15:05 -07:00
Michael Maltese 28d6c61e34 LogManager: use layered config 2017-07-09 16:28:54 -07:00
Michael Maltese e6c4455e65 remove commented-out FileLogListener::GetName 2017-07-09 16:28:54 -07:00
Michael Maltese c9e8289e82 LogManager: add SaveSettings 2017-07-07 16:44:38 -07:00
Michael Maltese 8ff8dfcdf2 LogManager: make LogContainer a POD and don't allocate 2017-07-07 16:44:38 -07:00
Michael Maltese 18da6dee8e LogManager: remove per-container listeners 2017-07-07 16:44:38 -07:00
Michael Maltese 546fa628fb LogManager: remove per-container verbosities 2017-07-07 16:44:38 -07:00
Michael Maltese 26aa9f88a4 LogManager: clean up header 2017-07-07 16:44:38 -07:00
Léo Lam dd8dcdf880 LogManager: Check if listener is valid before using it 2017-06-17 10:39:06 +02:00
Léo Lam a2ad3e14d0 Logging: Remove duplicated code 2017-06-17 10:20:30 +02:00
Léo Lam 100c433261 Logging: Move verbosity setting code to LogManager
No clue why it was in DolphinWX.
2017-06-17 10:20:30 +02:00
JosJuice cf94ce6305 Add a namespace to OpenFStream
For consistency with the other functions in FileUtil.h.
2017-06-15 21:34:04 +02:00
Michael Maltese d416cbd9ed Add CubebUtils namespace and hook up cubeb logging 2017-05-27 18:28:57 -07:00
Léo Lam b7a1c6f504 Logging: Add CORE type 2017-03-05 15:47:23 +01:00
Léo Lam c9f4889437 IOS: Re-implement USB_HIDv4 (/dev/usb/hid)
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-02-05 11:36:49 +01:00
Léo Lam 954c41d6e9 IOS: Move out common USB structures
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-20 18:29:21 +01:00
Léo Lam ef5a855b8e Update log types names from IPC_HLE to IOS
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.
2017-01-18 21:43:37 +01:00
aldelaro5 6ee799ba7c Reduces the the filename of logs
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-10-04 16:34:26 -04:00
Pierre Bourdon 3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
mathieui 4b06e92731 A few more asterisks, mostly casts 2016-01-21 22:20:22 +01:00
mathieui 78aa398e7c Common: asterisks go against the type name
not the variable name
2016-01-21 20:46:25 +01:00
Scott Mansell f84577b90b LogManager: Move android logcat code into the proper place. 2015-10-04 02:18:06 +13:00
Scott Mansell 6153424b8c LogManager: replace set of LogListener pointers with bitset.
Mostly so we can iterate over which LogListeners are enabled without
having to aquire a lock.
2015-10-04 00:38:34 +13:00
Scott Mansell ef4974b6a2 Remove unused log type. 2015-09-10 18:39:32 +12:00
Scott Mansell 0ed1e977cc Rearrange the logtypes into something closer to alphabetical order.
Also fix up a few of the long names.
2015-09-10 18:39:08 +12:00
Scott Mansell de9310fe70 Split OpenGL errors into a separate logtype from Video errors.
Allows them to be enabled/disabled separately.
2015-09-10 18:38:45 +12:00
JosJuice 6fb8ce58d6 Honor logging settings at startup
https://code.google.com/p/dolphin-emu/issues/detail?id=7959
2015-05-28 09:28:23 +02:00
Tillmann Karras 30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
Tillmann Karras cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
Shawn Hoffman 0a79b6d5a7 [windows] Remove ConsoleListener, which was not actually used.
Replace it with the DebuggerLogListener.
2015-03-15 22:11:18 -07:00
Stevoisiak 93b16a4a2d Formatting/Whitespace Cleanup
Various fixes to formatting and whitespace
2015-02-25 10:48:21 -05:00
Lioncash 884ec2ed13 Host: Kill off Host_SysMessage
Equivalent facilities already exist.
2014-11-05 02:30:48 -05:00
Rachel Bryk 22d2c7d053 Read the config file before enabling logs. 2014-09-03 19:50:02 -04:00
Lioncash ca5340ebde Centralize the logging code into its own folder in Common. 2014-06-25 22:11:42 -04:00