From 054d1b5d8217a283d29fdee0df93250c1625f48d Mon Sep 17 00:00:00 2001 From: Bob Farrell Date: Wed, 20 Mar 2024 23:39:27 +0000 Subject: [PATCH] Fix default error logfile Don't use stderr for error logfile if primary logfile is not stdout (i.e. always use the same file). Fix non-colorized duration in DeveolpmentLogger - use std.fmt.fmtDurationSigned. --- src/jetzig/Environment.zig | 5 ++++- src/jetzig/loggers/DevelopmentLogger.zig | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/jetzig/Environment.zig b/src/jetzig/Environment.zig index 4b81fd5..be8f842 100644 --- a/src/jetzig/Environment.zig +++ b/src/jetzig/Environment.zig @@ -120,7 +120,10 @@ fn getLogFile(stream: enum { stdout, stderr }, options: Options) !std.fs.File { if (std.mem.eql(u8, path, "-")) return switch (stream) { .stdout => std.io.getStdOut(), - .stderr => std.io.getStdErr(), + .stderr => if (std.mem.eql(u8, options.log, "-")) + std.io.getStdErr() + else + try std.fs.createFileAbsolute(options.log, .{ .truncate = false }), }; const file = try std.fs.createFileAbsolute(path, .{ .truncate = false }); diff --git a/src/jetzig/loggers/DevelopmentLogger.zig b/src/jetzig/loggers/DevelopmentLogger.zig index cd1ba18..6575ab5 100644 --- a/src/jetzig/loggers/DevelopmentLogger.zig +++ b/src/jetzig/loggers/DevelopmentLogger.zig @@ -68,7 +68,11 @@ pub fn logRequest(self: DevelopmentLogger, request: *const jetzig.http.Request) const formatted_duration = if (self.stdout_colorized) try jetzig.colors.duration(self.allocator, jetzig.util.duration(request.start_time)) else - try std.fmt.allocPrint(self.allocator, "{}", .{jetzig.util.duration(request.start_time)}); + try std.fmt.allocPrint( + self.allocator, + "{}", + .{std.fmt.fmtDurationSigned(jetzig.util.duration(request.start_time))}, + ); defer self.allocator.free(formatted_duration); const status: jetzig.http.status_codes.TaggedStatusCode = switch (request.response.status_code) {