Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Custom Prefix

Override the default emoji prefix per-event, per-logger, or globally:

// Per-event
clog.Info().Prefix("📦").Str("pkg", "clog").Msg("Installed")

// Per-logger (via sub-logger)
logger := clog.With().Prefix("🛡️").Str("component", "auth").Logger()
logger.Info().Msg("Ready")

// Global (changes defaults for all levels)
clog.SetPrefixes(clog.LevelMap{
  clog.InfoLevel:  ">>",
  clog.WarnLevel:  "!!",
  clog.ErrorLevel: "XX",
})

Prefix resolution order: event override > logger preset > default emoji for level.

Missing levels in SetPrefixes fall back to the defaults. Use DefaultPrefixes() to get a copy of the default prefix map.

Styling Prefixes

Prefixes can be any string - not just emojis. Use Styles.Prefixes to apply a lipgloss style per level:

styles := clog.DefaultStyles()

// Render the warn prefix in bold yellow
styles.Prefixes[clog.WarnLevel] = new(
  lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("3")), // yellow
)

clog.SetStyles(styles)

// Both "warning" and "!!" are printed in bold yellow
clog.Warn().Prefix("warning").Msg("Low disk space")
clog.Warn().Prefix("!!").Msg("Low disk space")

Styles.Prefixes is a LevelStyleMap. Entries for levels not in the map render unstyled (the default). Use nil for a specific level to explicitly disable styling for that level.