Merge pull request #2298 from lightpanda-io/nikneym/fix-log-level-regression

`Config`: add a custom validator for `--log-level`
This commit is contained in:
Karl Seguin
2026-04-28 17:49:29 +08:00
committed by GitHub

View File

@@ -59,6 +59,18 @@ fn logFilterScopesValidator(allocator: Allocator, args: *std.process.ArgIterator
}
}
fn logLevelValidator(_: Allocator, args: *std.process.ArgIterator) !?log.Level {
const str = args.next() orelse return error.MissingArgument;
if (std.mem.eql(u8, str, "error")) {
return .err;
}
return std.meta.stringToEnum(log.Level, str) orelse {
log.fatal(.app, "invalid option choice", .{ .arg = "--log-level", .value = str });
return error.InvalidArgument;
};
}
/// Common CLI args.
const CommonOptions = .{
.{ .name = "obey_robots", .type = bool },
@@ -71,7 +83,7 @@ const CommonOptions = .{
.{ .name = "http_max_response_size", .type = ?usize },
.{ .name = "ws_max_concurrent", .type = ?u8 },
.{ .name = "insecure_disable_tls_host_verification", .type = bool },
.{ .name = "log_level", .type = ?log.Level },
.{ .name = "log_level", .type = ?log.Level, .validator = logLevelValidator },
.{ .name = "log_format", .type = ?log.Format },
.{ .name = "log_filter_scopes", .type = log.Scope, .multiple = true, .validator = logFilterScopesValidator },
.{ .name = "user_agent_suffix", .type = ?[]const u8 },