also looking at this
fix(log): keep the terminal's colour, and let logging be turned off
#81
4 files
+126
-16
| @@ -455,7 +455,7 @@ fn configureLogging(options: cli.WindowOptions) !void { | ||
| 455 | 455 | const level: craft.Log.LogLevel = if (options.log_level) |name| blk: { |
| 456 | 456 | break :blk parseLogLevel(name) orelse { |
| 457 | 457 | std.debug.print( |
| 458 | "Error: unknown --log-level '{s}' (expected debug, info, warn, error or fatal)\n", | |
| 458 | "Error: unknown --log-level '{s}' (expected debug, info, warn, error, fatal or off)\n", | |
| 459 | 459 | .{name}, |
| 460 | 460 | ); |
| 461 | 461 | std.process.exit(1); |
| @@ -484,6 +484,7 @@ fn configureLogging(options: cli.WindowOptions) !void { | ||
| 484 | 484 | .Warning => .warn, |
| 485 | 485 | .Error => .err, |
| 486 | 486 | .Fatal => .fatal, |
| 487 | .Off => .off, | |
| 487 | 488 | }, |
| 488 | 489 | // Timestamp and colour are the outer sink's job now; doubling them |
| 489 | 490 | // would put two of each on every line. |
| @@ -514,6 +515,9 @@ fn parseLogLevel(name: []const u8) ?craft.Log.LogLevel { | ||
| 514 | 515 | .{ "error", craft.Log.LogLevel.Error }, |
| 515 | 516 | .{ "err", craft.Log.LogLevel.Error }, |
| 516 | 517 | .{ "fatal", craft.Log.LogLevel.Fatal }, |
| 518 | .{ "off", craft.Log.LogLevel.Off }, | |
| 519 | .{ "none", craft.Log.LogLevel.Off }, | |
| 520 | .{ "silent", craft.Log.LogLevel.Off }, | |
| 517 | 521 | }; |
| 518 | 522 | inline for (table) |entry| { |
| 519 | 523 | if (std.ascii.eqlIgnoreCase(name, entry[0])) return entry[1]; |