MCPcopy Index your code
hub / github.com/coder/coder / slogMessageLength

Function slogMessageLength

scripts/rules.go:410–437  ·  view source on GitHub ↗

slogMessageLength ensures that important log messages are meaningful, and must be at least 16 characters long.

(m dsl.Matcher)

Source from the content-addressed store, hash-verified

408
409// slogMessageLength ensures that important log messages are meaningful, and must be at least 16 characters long.
410func 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"
440func slogError(m dsl.Matcher) {

Callers

nothing calls this directly

Calls 3

MatchMethod · 0.80
ReportMethod · 0.65
MatchesMethod · 0.45

Tested by

no test coverage detected