Simple structured logging in Zig (0.14).
Find a file
2025-08-08 20:27:52 +02:00
.github/workflows Setup project 2025-08-08 13:45:23 +02:00
src Add logging funcs 2025-08-08 20:05:48 +02:00
.envrc Setup project 2025-08-08 13:45:23 +02:00
.gitignore Setup project 2025-08-08 13:45:23 +02:00
build.zig Add logging funcs 2025-08-08 20:05:48 +02:00
build.zig.zon Add logging funcs 2025-08-08 20:05:48 +02:00
devenv.lock Setup project 2025-08-08 13:45:23 +02:00
devenv.nix Remove comments in devenv.nix 2025-08-08 20:27:52 +02:00
devenv.yaml Setup project 2025-08-08 13:45:23 +02:00
LICENSE Initial commit 2025-08-08 13:43:14 +02:00
README.md Update README.md 2025-08-08 20:26:18 +02:00

zlog

Zig

Small helper on top of Zigs std.log that simplifies structured logging without additional heap allocations.

Installation

  • Zig 0.14.1+
  • Add the dependency:
    • zig fetch --save git+https://github.com/lukasl-dev/zlog.git
  • In your build.zig:
const dep = b.dependency("zlog", .{ .target = target, .optimize = optimize });
exe.root_module.addImport("zlog", dep.module("zlog"));

Usage

const std = @import("std");
const zlog = @import("zlog");

pub fn main() void {
    zlog.info("user logged in", .{ .user = "alice", .id = 1 });
    zlog.scoped(.auth).debug("token issued", .{ .token = "abc123" });
}

Output:

info: user logged in. user=alice id=1
debug(auth): token issued. token=abc123