Documentation
¶
Overview ¶
Package internal provides SSA-based analysis for zerolog context propagation.
This package uses SSA (Static Single Assignment) form to track zerolog Event values through variable assignments, conditionals, and closures. It detects cases where a context.Context is available but not passed to the log chain via .Ctx(ctx).
Architecture ¶
┌─────────────────────────────────────────────────────────────────────────┐ │ Analysis Flow │ │ │ │ analyzer.go (public) │ │ │ │ │ ▼ │ │ internal/analyzer.go ◀── You are here │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ RunSSA() │ │ │ │ │ │ │ │ │ ├── Build function context map │ │ │ │ ├── Skip excluded files │ │ │ │ ├── Run SSA analysis via ssa.Checker │ │ │ │ └── Report unused ignore directives │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ internal/ssa/ │ │ (Core SSA analysis) │ └─────────────────────────────────────────────────────────────────────────┘
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RunSSA ¶
func RunSSA( pass *analysis.Pass, ssaInfo *buildssa.SSA, ignoreMaps map[string]directive.IgnoreMap, skipFiles map[string]bool, isContextType func(types.Type) bool, )
RunSSA performs SSA-based analysis for zerolog context propagation.
The analysis tracks context through three zerolog types:
- Event: The log event being built (e.g., log.Info().Str("k","v"))
- Context: The builder for derived loggers (e.g., log.With().Str("k","v"))
- Logger: The logger instance
Context can be set via:
- Event.Ctx(ctx): Sets context on the current event
- Context.Ctx(ctx): Sets default context for the derived logger
- zerolog.Ctx(ctx): Returns a logger from context (already has ctx)
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package directive provides handling of zerologlintctx directive comments.
|
Package directive provides handling of zerologlintctx directive comments. |
|
Package ssa provides SSA-based analysis for zerolog context propagation.
|
Package ssa provides SSA-based analysis for zerolog context propagation. |
|
Package typeutil provides type checking utilities for zerolog and context types.
|
Package typeutil provides type checking utilities for zerolog and context types. |
Click to show internal directories.
Click to hide internal directories.