Phillip Stephens
6926b6a7c9
Always flush log file on close to prevent incomplete logs
2022-01-10 23:27:06 -08: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
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
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
0e3fe3e766
Integrate sentry-native crash reporting
2021-04-04 18:20:48 -04: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
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
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
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
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
Jack Andersen
3bedd268e8
Integrate libfmt for format strings
2019-07-19 18:21:39 -10:00
Jack Andersen
ebe7463e67
Ignore GCC truncation warning
2019-06-09 16:48:06 -10:00
Jack Andersen
a2ffe70b4e
Don't kill windows console on abort
2019-05-09 18:06:21 -10:00
Jack Andersen
3da29add5f
Implicit switch fallthrough refactor
2019-02-17 19:45:51 -10:00
Jack Andersen
01e291833b
New code style refactor
2018-12-07 19:17:15 -10:00
Jack Andersen
22ed01ffc5
Add nxstl
2018-10-06 16:56:33 -10:00
Jack Andersen
82f1df9c40
Use prctl on Linux to set thread name
2018-06-01 14:01:11 -10:00
Jack Andersen
073cf1473b
Minor printf fix
2018-05-24 20:32:04 -10:00
Jack Andersen
71bbb3d082
Don't print addr2line's stderr
2018-05-05 15:30:53 -10:00
Jack Andersen
2e595922be
Add global log counter
2018-03-23 11:38:33 -10:00
Jack Andersen
bb0535f3a9
Use exit(1) instead of abort() for win32 release builds
2018-01-21 12:01:16 -10:00
Jack Andersen
b89d18c471
use exit(1) rather than abort() for release builds
2018-01-13 20:06:42 -10:00
Jack Andersen
f28fa0dbb2
Add KillProcessTree subroutine
2018-01-09 20:14:40 -10:00
Jack Andersen
beee8b3970
Use C++ standard library includes
2017-12-28 21:53:09 -10:00
Jack Andersen
408ae926d7
UWP support
2017-12-05 17:20:32 -10:00
Jack Andersen
bfe0c1ccad
Fix addr2line invokation
2017-11-01 23:20:23 -10:00
Jack Andersen
f8ab0e03ba
Win32 sync
2017-01-20 14:18:50 -10:00
Jack Andersen
847d08d5b7
Proper raised abort() call
2017-01-18 23:01:09 -10:00
Jack Andersen
e6f24e6428
Better regulation of logging mutex
2017-01-18 10:54:00 -10:00
Jack Andersen
f913fb8479
Handle SIGABRT
2017-01-16 15:59:00 -10:00
Jack Andersen
b229c2f8fe
Fix MSVC compile fail
2017-01-16 15:30:32 -10:00
Jack Andersen
362499716c
Ensure ThreadMap is locked on modification
2017-01-16 15:19:06 -10:00
Jack Andersen
f601125b22
Fix macOS `atos` invocation
2016-09-29 17:31:24 -10:00
Jack Andersen
e397cb4b08
Add include needed by OS X
2016-09-18 15:32:20 -10:00
Jack Andersen
31aea91ea3
Better performance on backtrace generation
2016-09-18 13:46:05 -10:00
Jack Andersen
469bd97ce6
More informative backtrace on linux / OS X
2016-09-17 11:30:17 -10:00
Jack Andersen
9285d183d7
Recursive mutex for avoidng deadlocks during logging
2016-09-11 11:14:48 -10:00
Jack Andersen
c839ce774c
Less jarring fatal abort for Windows
2016-09-10 15:19:55 -10:00
Jack Andersen
a190c5cfb6
Send backtrace to stderr
2016-09-08 18:18:15 -10:00
Jack Andersen
ac88aa934d
Add backtrace print to fatal logvisor errors
2016-09-07 20:13:49 -10:00
Jack Andersen
f8a24cc128
Add logvisor::LockLog() for ensuring output stream sync
2016-08-24 14:25:06 -10:00
Jack Andersen
df3a949d61
Windows build fix
2016-03-04 17:21:18 -10:00
Jack Andersen
db415516f6
Humungous refactor
2016-03-04 13:01:18 -10:00