FILE / ScuroNeko/SNekLog

doc.go

Исходный файл и его история в репозитории.
FILE v2.1.0
Files
SNekLog/doc.go
T
ScuroNeko d534f92d48 (refactor): prepare breaking v2 API
- rename package to sneklog and move module to /v2
- replace text output flags with writer formatters
- remove external color dependencies
- update migration notes and coverage
2026-04-24 15:43:14 +03:00

45 lines
1.6 KiB
Go

// Package sneklog provides a small structured logger that can write the same
// record to text and JSON outputs.
//
// A Logger can fan out records to stdout, files, or any external io.Writer.
// Text writers can include timestamps and a compact traceback frame. JSON
// writers always emit a structured traceback slice.
//
// CreateLogger uses the following defaults:
// - prefix: "LOG"
// - level: FATAL, which enables info, warn, error, and fatal records
// - pretty JSON: disabled
// - text formatter: DefaultTextFormatter
// - JSON formatter: DefaultJsonFormatter
//
// Call Level(DEBUG) to enable all records, including debug messages.
// AddReplacer can be used to mask or normalize message text before records are
// passed to writers. Call SetFormatter on a writer to customize timestamps,
// traceback fields, colors, and message layout.
//
// Basic usage:
//
// logger := sneklog.CreateLogger().
// Prefix("API").
// Level(sneklog.DEBUG).
// AddReplacer("secret-token", "<redacted>")
//
// text := logger.CreateTextStdoutWriter()
// jsonFile, err := logger.CreateJsonFileWriter("logs/app.json")
// if err != nil {
// panic(err)
// }
//
// logger.AddWriters(text, jsonFile)
// logger.Infoln("service started", "secret-token")
//
// if err := logger.Close(); err != nil {
// panic(err)
// }
//
// Writers created with CreateTextFileWriter or CreateJsonFileWriter are owned by
// the logger and are closed by Logger.Close. Writers created from existing
// io.Writer values through CreateTextWriter or CreateJsonWriter remain owned by
// the caller and are not closed by the logger.
package sneklog