slogMessageLength ensures that important log messages are meaningful, and must be at least 16 characters long.
(m dsl.Matcher)
| 408 | |
| 409 | // slogMessageLength ensures that important log messages are meaningful, and must be at least 16 characters long. |
| 410 | func slogMessageLength(m dsl.Matcher) { |
| 411 | m.Import("cdr.dev/slog/v3") |
| 412 | m.Match( |
| 413 | `logger.Error($ctx, $message, $*args)`, |
| 414 | `logger.Warn($ctx, $message, $*args)`, |
| 415 | `logger.Info($ctx, $message, $*args)`, |
| 416 | |
| 417 | `$foo.logger.Error($ctx, $message, $*args)`, |
| 418 | `$foo.logger.Warn($ctx, $message, $*args)`, |
| 419 | `$foo.logger.Info($ctx, $message, $*args)`, |
| 420 | |
| 421 | `Logger.Error($ctx, $message, $*args)`, |
| 422 | `Logger.Warn($ctx, $message, $*args)`, |
| 423 | `Logger.Info($ctx, $message, $*args)`, |
| 424 | |
| 425 | `$foo.Logger.Error($ctx, $message, $*args)`, |
| 426 | `$foo.Logger.Warn($ctx, $message, $*args)`, |
| 427 | `$foo.Logger.Info($ctx, $message, $*args)`, |
| 428 | |
| 429 | // no debug |
| 430 | ). |
| 431 | Where( |
| 432 | // It has at least 16 characters (+ ""): |
| 433 | m["message"].Text.Matches(`^".{0,15}"$`) && |
| 434 | // but there are exceptions: |
| 435 | !m["message"].Text.Matches(`^"command exit"$`)). |
| 436 | Report(`Message $message is too short, it must be at least 16 characters long.`) |
| 437 | } |
| 438 | |
| 439 | // slogErr ensures that errors are logged with "slog.Error" instead of "slog.F" |
| 440 | func slogError(m dsl.Matcher) { |