diff options
Diffstat (limited to 'src/log.zig')
| -rw-r--r-- | src/log.zig | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/log.zig b/src/log.zig deleted file mode 100644 index 9d2b444..0000000 --- a/src/log.zig +++ /dev/null @@ -1,56 +0,0 @@ -const std = @import("std"); - -const ansi = @import("ansi.zig"); - -var log_buffer: [1024]u8 = undefined; -var writer_stderr = std.fs.File.stderr().writer(&log_buffer); -const stderr = &writer_stderr.interface; -var log_lock = std.Thread.Mutex{}; - -pub fn handler( - comptime message_level: std.log.Level, - comptime scope: @TypeOf(.enum_literal), - comptime format: []const u8, - args: anytype, -) void { - log_lock.lock(); - defer log_lock.unlock(); - defer stderr.flush() catch unreachable; - - const color = switch (message_level) { - .err => .red, - .warn => .yellow, - .info => .blue, - .debug => .magenta, - }; - - stderr.print( - "{f}{f}", - .{ - ansi.ClearLine {}, - ansi.Styled { - .text = " " ++ (comptime message_level.asText()) ++ " ", - .bg = color, - .bold = true, - }, - }, - ) catch unreachable; - - if (scope != .default) { - stderr.print( - "{f}", - .{ - ansi.Styled { - .text = " " ++ @tagName(scope) ++ " ", - .bg = .gray, - .fg = .black, - .italic = true, - }, - }, - ) catch unreachable; - } - - stderr.writeByte(' ') catch unreachable; - stderr.print(format, args) catch unreachable; - stderr.writeAll("\n") catch unreachable; -} |