Zig
Zig
Enter/Leave Context in Logging
Demonstrates EnterContext and LeaveContext using the Chilkat Log API.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
const log = try chilkat.Log.init();
defer log.deinit();
// Initialize the log object with an initial context tag:
log.clear("myLog");
// Add some information..
log.logInfo("Hello, I'm here...");
// Open a sub-context
log.enterContext("abc");
// New information is now logged within the "abc" context.
log.logInfo("This is inside the abc context");
log.logError("File not found.");
// Perhaps open a new context...
log.enterContext("fileInfo");
log.logData("filename", "something.txt");
log.logData("path", "/somedir/xyz");
log.leaveContext();
// Close the "abc" context.
log.leaveContext();
// Examine the content of the log:
std.debug.print("{s}\n", .{try log.getLastErrorText(alloc)});
// This is the output:
// myLog:
// Hello, I'm here...
// abc:
// This is inside the abc context
// File not found.
// fileInfo:
// filename: something.txt
// path: /somedir/xyz
// --fileInfo
// --abc
// --myLog
}