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.