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) {