Stack Traces Example ​
Demonstrates capturing and formatting stack traces for err and critical log events in Logly.zig.
Code Example ​
zig
const std = @import("std");
const logly = @import("logly");
fn triggerFailure(logger: *logly.Logger) !void {
try helperFunction(logger);
}
fn helperFunction(logger: *logly.Logger) !void {
try deepOperation(logger);
}
fn deepOperation(logger: *logly.Logger) !void {
try logger.err("Database transaction failed with connection timeout", @src());
try logger.critical("Kernel subsystem unrecoverable error", @src());
}
pub fn main() !void {
var gpa = std.heap.DebugAllocator(.{}){};
defer _ = gpa.deinit();
const allocator = gpa.allocator();
// 1. Text Format with Stack Trace Capture
{
var config = logly.Config.default();
config.captureStackTrace = true;
config.symbolizeStackTrace = true;
const logger = try logly.Logger.initWithConfig(allocator, config);
defer logger.deinit();
try triggerFailure(logger);
}
// 2. JSON Format with Stack Trace Capture
{
var config = logly.Config.default();
config.format = .json;
config.captureStackTrace = true;
const logger = try logly.Logger.initWithConfig(allocator, config);
defer logger.deinit();
try logger.err("API request payload failed validation", @src());
}
}