Phillip Stephens
6926b6a7c9
Always flush log file on close to prevent incomplete logs
2022-01-10 23:27:06 -08:00
Luke Street
9420e3007e
Update fmt to 8.0.1
2021-10-25 19:08:48 -04:00
Luke Street
4f7f3f2147
Use __has_cpp_attribute for NOWIDE_FALLTHROUGH
2021-06-30 16:22:27 -04:00
Luke Street
6eadd55f7a
Merge remote-tracking branch 'origin/utf8' into utf8
...
# Conflicts:
# lib/logvisor.cpp
2021-06-29 00:09:20 -04:00
Luke Street
df3c283186
Update fmt to 8.0.0; drop support for wchar
...
Adds some boost-nowide headers to assist in
UTF-8/16 conversion for Windows API.
2021-06-25 15:04:38 -04:00
Luke Street
139281f667
Update fmt to 8.0.0; drop support for wchar
...
Adds some boost-nowide headers to assist in
UTF-8/16 conversion for Windows API.
2021-06-22 15:13:37 -04:00
Phillip Stephens
274ad5ef07
Fix compiling on linux
2021-06-19 14:43:23 -07:00
Henrique Gemignani Passos Lima
ed3714e55c
Fix ConsoleLogger misusing Widen result lifetime
2021-06-19 13:40:17 +03:00
Phillip Stephens
ee3276d7c5
Merge pull request #7 from Minty-Meeo/wide-printing-fixes
2021-05-07 23:17:57 -07:00
Minty-Meeo
f23179e168
Wide char homogeneity
...
If wide char stdlib functions are used on a narrow char stream, they attempt to narrow the character or string. If this fails, nothing is written to the stream and an error is indicated. The {fmt} library, at its core, uses stdlib functions for printing to a stream. However, it takes it a step further and acts upon errors while printing by throwing an exception.
If narrow char stdlib functions are used on a wide char stream, they throw an assertion. The {fmt} library somehow does not throw an assertion, but whatever it ends up printing is garbage anyhow.
So from either end, it is generally a bad idea to mix narrow and wide character printing. While you can get away with using wide char functions on a narrow char stream, the moment you start using anything other than English characters, it all falls apart. Just as well, narrow chars on wide char streams do not work at all. Despite this, I found many situations where wide char printing and narrow char printing was being used at the same time. This PR makes character printing homogeneous to avoid the previously discussed issues.
2021-05-08 00:52:03 -05:00
Luke Street
7901fc496d
Don't install if not building directly
2021-04-13 00:48:30 -04:00
Luke Street
d874350205
Fetch Sentry as needed; don't reimport fmt unnecessarily
2021-04-13 00:05:09 -04:00
Luke Street
028617d225
Update sentry-native
2021-04-12 15:52:58 -04:00
Luke Street
984d87348e
Set FMT_ARM_ABI_COMPATIBILITY; move fmt defines to CMake
2021-04-06 17:55:15 -04:00
Luke Street
33e7322595
Update submodules; set submodule tracking branch
2021-04-06 12:46:56 -04:00
Luke Street
bb113e03f8
Fix sentry submodule URL
2021-04-05 16:31:04 -04:00
Luke Street
240491ccad
Compile breakpad_client with -Wno-array-bounds
2021-04-05 13:26:01 -04:00
Luke Street
fd343eb234
Fix compiling crashpad on Windows
2021-04-05 12:04:19 -04:00
Luke Street
aac06c3465
Fix compiling breakpad_client on Linux
2021-04-05 10:38:42 -04:00
Luke Street
0e3fe3e766
Integrate sentry-native crash reporting
2021-04-04 18:20:48 -04:00
Phillip Stephens
17aa25cfa9
Merge pull request #6 from henriquegemignani/feature/keep-file-open
...
FileLogger: don't open/close file for each write
2021-04-03 10:27:47 -07:00
Henrique Gemignani Passos Lima
d4af1a1088
FileLogger: don't open/close file for each write
2021-04-03 19:42:44 +03:00
Phillip Stephens
8913e55e34
Fix crashing on windows when registering a file logger after a console logger, windows runtime bugs annoy the hell out of me >:(
2020-12-31 13:53:26 -08:00
Luke Street
81fb4e4c2d
Link debug libnx & remove outdated nxstl includes
2020-10-21 00:35:07 -04:00
Jack Andersen
7f63cabaea
Fixes for recent windows SDK changes
2020-08-22 17:28:34 -10:00
Luke Street
41432143fd
Only use lm service when LOGVISOR_NX_LM set
2020-05-05 00:14:41 -04:00
Jack Andersen
14ea54f8b5
Add lm service for switch build
2020-05-03 20:09:21 -10:00
Jack Andersen
d62b4ce26e
Update fmtlib
2020-04-11 12:44:21 -10:00
Jack Andersen
27814c5276
Exclude CMake CXX standard from MSVC
2020-04-10 18:55:45 -10:00
Jack Andersen
f04a9777eb
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/logvisor
2019-09-30 21:21:21 -10:00
Jack Andersen
187c35f3c4
Ensure only one console logger is able to be registered
2019-09-30 21:20:45 -10:00
Phillip Stephens
8c2e711362
Merge pull request #5 from lioncash/noreturn
...
logvisor: Mark logvisorAbort as [[noreturn]]
2019-09-06 23:26:44 -07:00
Lioncash
63cb911d09
logvisor: Mark logvisorAbort as [[noreturn]]
...
All variants of logvisorAbort do what they say in their name -- abort.
Given control isn't returned from this function, we can signify that
it's a noreturn function
2019-09-06 07:37:27 -04:00
Phillip Stephens
f623ace3b4
Merge pull request #4 from lioncash/docs
...
logvisor: Amend documentation comments
2019-08-26 15:55:18 -07:00
Phillip Stephens
8ea97c524c
Merge pull request #3 from lioncash/forward
...
logvisor: std::forward arguments where applicable
2019-08-26 15:55:08 -07:00
Phillip Stephens
81c72ad220
Merge pull request #2 from lioncash/char
...
logvisor: Use std::fputs/std::fputc where applicable
2019-08-26 15:54:58 -07:00
Lioncash
59f651f24b
logvisor: Amend documentation comments
...
These use fmt-style formatting specifiers, not printf.
2019-08-26 10:57:19 -04:00
Lioncash
2a40c6dc92
logvisor: std::forward arguments where applicable
...
Forwards arguments into functions to preserve their value category
2019-08-26 10:50:35 -04:00
Lioncash
2f3f06e5ca
logvisor: Add missing override specifiers
2019-08-26 10:34:40 -04:00
Lioncash
94d1c558a0
logvisor: Use std::fputs/std::fputc where applicable
...
We can just use std::fputc when inserting a single character instead of
using std::fputs. Likewise, we can use std::fputs over std::fprintf when
no formatting specifiers are present.
2019-08-26 10:31:45 -04:00
Phillip Stephens
aa9aa0a82c
Merge pull request #1 from lioncash/cexpr
...
logvisor: Make Module constructor constexpr
2019-08-17 22:56:59 -07:00
Lioncash
a57409828c
logvisor: Make Module constructor constexpr
...
Allows the module instances to be constructed at compile time.
Otherwise, this is technically a runtime static constructor when an
instance is declared at file scope.
2019-08-17 19:47:20 -04:00
Jack Andersen
dcd0ffcaec
Fix custom formatting of multiple character types
2019-07-25 16:31:54 -10:00
Jack Andersen
3bedd268e8
Integrate libfmt for format strings
2019-07-19 18:21:39 -10:00
Jack Andersen
a0ef17d895
Refactor of CMake for cleaner dependency handling
2019-06-11 15:53:17 -10:00
Jack Andersen
ebe7463e67
Ignore GCC truncation warning
2019-06-09 16:48:06 -10:00
Jack Andersen
7672485d81
Make logvisor publicly link libdl on platforms that have it
2019-05-25 00:14:41 -10:00
Jack Andersen
c54e2596c2
Add cmake package config files
2019-05-22 18:07:58 -10:00
Jack Andersen
c3f34aed0b
Update include directory for proper installation
2019-05-22 17:58:40 -10:00
Jack Andersen
a2ffe70b4e
Don't kill windows console on abort
2019-05-09 18:06:21 -10:00