diff options
Diffstat (limited to 'src/zen/zen.cpp')
| -rw-r--r-- | src/zen/zen.cpp | 53 |
1 files changed, 20 insertions, 33 deletions
diff --git a/src/zen/zen.cpp b/src/zen/zen.cpp index 713a0d66d..4e6161e86 100644 --- a/src/zen/zen.cpp +++ b/src/zen/zen.cpp @@ -33,6 +33,7 @@ #include <zencore/string.h> #include <zencore/trace.h> #include <zenhttp/httpcommon.h> +#include <zenutil/logging.h> #include <zenutil/zenserverprocess.h> #include <zencore/memory/fmalloc.h> @@ -377,31 +378,6 @@ main(int argc, char** argv) using namespace zen; using namespace std::literals; - zen::logging::InitializeLogging(); - - // Set output mode to handle virtual terminal sequences - zen::logging::EnableVTMode(); - std::set_terminate([]() { - void* Frames[8]; - uint32_t FrameCount = GetCallstack(2, 8, Frames); - CallstackFrames* Callstack = CreateCallstack(FrameCount, Frames); - ZEN_CRITICAL("Program exited abnormally via std::terminate()\n{}", CallstackToString(Callstack, " ")); - FreeCallstack(Callstack); - }); - - LoggerRef DefaultLogger = zen::logging::Default(); - auto& Sinks = DefaultLogger.SpdLogger->sinks(); - - Sinks.clear(); - auto ConsoleSink = std::make_shared<spdlog::sinks::ansicolor_stdout_sink_mt>(); - Sinks.push_back(ConsoleSink); - - zen::MaximizeOpenFileCount(); - - ////////////////////////////////////////////////////////////////////////// - - auto _ = zen::MakeGuard([] { spdlog::shutdown(); }); - AttachCommand AttachCmd; BenchCommand BenchCmd; BuildsCommand BuildsCmd; @@ -674,14 +650,25 @@ main(int argc, char** argv) exit(0); } - if (GlobalOptions.IsDebug) - { - logging::SetLogLevel(logging::level::Debug); - } - if (GlobalOptions.IsVerbose) - { - logging::SetLogLevel(logging::level::Trace); - } + zen::LoggingOptions LogOptions; + LogOptions.IsDebug = GlobalOptions.IsDebug; + LogOptions.IsVerbose = GlobalOptions.IsVerbose; + LogOptions.AllowAsync = false; + zen::InitializeLogging(LogOptions); + + std::set_terminate([]() { + void* Frames[8]; + uint32_t FrameCount = GetCallstack(2, 8, Frames); + CallstackFrames* Callstack = CreateCallstack(FrameCount, Frames); + ZEN_CRITICAL("Program exited abnormally via std::terminate()\n{}", CallstackToString(Callstack, " ")); + FreeCallstack(Callstack); + }); + + zen::MaximizeOpenFileCount(); + + ////////////////////////////////////////////////////////////////////////// + + auto _ = zen::MakeGuard([] { zen::ShutdownLogging(); }); #if ZEN_WITH_TRACE if (TraceHost.size()) |