I have no idea, if this is our fault or not, but Jason traced it back to
the consteval on the {fmt} format string constructor.
Specifically when a consteval constructor call happens in the statement,
the destructor call is moved to the end of the block. Inside the switch
statement that means, the destructor is called multiple times, which
corrupts the use count and crashes Nheko because of a double free.
I am assuming this is a bug in clang, but this will need to be
investigated more.
fixes#1292
Nheko is very chatty in its log output, generating log noise (which
complicates diagnostics) and needless disk writes (which affect power
consumption and SSD life). This patch introduces command line options
and environment variables to control log levels and output type.
The old --debug command line option still works, at least for now.
It is overridden by the new command line options when they are used.
Partially addresses #665.