Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

49 Commits

Repository files navigation

Structured Logging for Zig

Zig Docs

slog is a configurable, structured logging package for Zig with support for hierarchical loggers. img

Usage

Add slog to your build.zig.zon

zig fetch --save git+https://github.com/sam701/slog

Example code:

conststd=@import("std");
constslog=@import("slog");
pubfnmain() !void {
varlog=tryslog.initRootLogger(std.heap.page_allocator, .{});
deferlog.deinit();
varlog2=trylog.initChildLogger("mod1");
varlog3=trylog2.initChildLogger("mod2");
varlog4=trylog3.initChildLogger("mod3");
log.info("Hello slog!", .{ .field1="value1", .field2="value1", .rate=30 });
log2.trace("Hello slog!", .{ .field1="value1", .field2="value2", .rate=30 });
log2.debug("Hello slog!", .{ .field1="value1", .field2="value3", .rate=30 });
log2.info("Hello slog!", .{ .field1="value1", .field2="value4", .rate=30e2 });
log3.warn("Hello slog!", .{ .field1="value1", .field2="value5", .rate=30.34534 });
log3.err("Hello slog!", .{ .field1="value1", .field2="value6", .rate=30, .active=true, .metadata=null });
log4.err("Hello slog!", .{ .field1="value1", .field2="value6", .rate=30, .active=true, .metadata=null });
}

Environment Variables

  • ZIG_LOG - configures log level, e.g. info,mod1=debug,mod2.mod3=warn.
  • ZIG_LOG_COLORS - configures color scheme for text logger, e.g. timestamp=31;1,logger=33.

Dependencies

  • zeit - a great date and time library for Zig

About

Structured logging for Zig

Topics

Resources

Stars

12 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages