aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/logging.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-02-25 15:48:43 +0100
committerGitHub Enterprise <[email protected]>2025-02-25 15:48:43 +0100
commit5bc5b0dd59c0f02afe553e5074dfe57951b19044 (patch)
tree625d46a9ef656cd6dd5f2879182f686b0299f44b /src/zenutil/logging.cpp
parent5.5.18 (diff)
downloadzen-5bc5b0dd59c0f02afe553e5074dfe57951b19044.tar.xz
zen-5bc5b0dd59c0f02afe553e5074dfe57951b19044.zip
improvements and infrastructure for upcoming builds api command line (#284)
* add modification tick to filesystem traversal * add ShowDetails option to ProgressBar * log callstack if we terminate process * handle chunking if MaxSize > 1MB * BasicFile write helpers and WriteToTempFile simplifications * bugfix for CompositeBuffer::IterateRange when using DecompressToComposite for actually comrpessed data revert of earlier optimization * faster compress/decompress for large disk-based files * enable progress feedback in IoHash::HashBuffer * add payload validation in HttpClient::Get * fix range requests (range is including end byte) * remove BuildPartId for blob/block related operations in builds api
Diffstat (limited to 'src/zenutil/logging.cpp')
-rw-r--r--src/zenutil/logging.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/zenutil/logging.cpp b/src/zenutil/logging.cpp
index 6314c407f..0444fa2c4 100644
--- a/src/zenutil/logging.cpp
+++ b/src/zenutil/logging.cpp
@@ -10,6 +10,7 @@ ZEN_THIRD_PARTY_INCLUDES_START
#include <spdlog/spdlog.h>
ZEN_THIRD_PARTY_INCLUDES_END
+#include <zencore/callstack.h>
#include <zencore/compactbinary.h>
#include <zencore/filesystem.h>
#include <zencore/logging.h>
@@ -97,7 +98,13 @@ BeginInitializeLogging(const LoggingOptions& LogOptions)
}
}
- std::set_terminate([]() { ZEN_CRITICAL("Program exited abnormally via std::terminate()"); });
+ 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);
+ });
// Default