SYMBOL INDEX (932 symbols across 72 files) FILE: _example/bench_loglibs_test.go function BenchmarkGoSlogNegative (line 26) | func BenchmarkGoSlogNegative(b *testing.B) { function BenchmarkZapNegative (line 38) | func BenchmarkZapNegative(b *testing.B) { function BenchmarkZapSugarNegative (line 52) | func BenchmarkZapSugarNegative(b *testing.B) { function BenchmarkZeroLogNegative (line 70) | func BenchmarkZeroLogNegative(b *testing.B) { function BenchmarkPhusLogNegative (line 80) | func BenchmarkPhusLogNegative(b *testing.B) { function BenchmarkLogrusNegative (line 91) | func BenchmarkLogrusNegative(b *testing.B) { function BenchmarkGookitSlogNegative (line 103) | func BenchmarkGookitSlogNegative(b *testing.B) { function BenchmarkZapPositive (line 121) | func BenchmarkZapPositive(b *testing.B) { function BenchmarkZapSugarPositive (line 135) | func BenchmarkZapSugarPositive(b *testing.B) { function BenchmarkZeroLogPositive (line 149) | func BenchmarkZeroLogPositive(b *testing.B) { function BenchmarkPhusLogPositive (line 159) | func BenchmarkPhusLogPositive(b *testing.B) { function BenchmarkLogrusPositive (line 169) | func BenchmarkLogrusPositive(b *testing.B) { function BenchmarkGookitSlogPositive (line 181) | func BenchmarkGookitSlogPositive(b *testing.B) { FILE: _example/demos/demo1.go constant simplestTemplate (line 7) | simplestTemplate = "[{{datetime}}] [{{level}}] {{message}} {{data}} {{ex... function init (line 9) | func init() { function main (line 15) | func main() { FILE: _example/demos/simple.go function main (line 8) | func main() { function stackIt (line 15) | func stackIt() int { function stackIt2 (line 21) | func stackIt2() *int { function slogTest (line 27) | func slogTest() { FILE: _example/demos/slog_all_level.go function main (line 12) | func main() { function printAllLevel (line 21) | func printAllLevel(l *slog.Logger, args ...any) { FILE: _example/handler/grouped.go type GroupedHandler (line 10) | type GroupedHandler struct method IsHandling (line 26) | func (h *GroupedHandler) IsHandling(level slog.Level) bool { method Handle (line 36) | func (h *GroupedHandler) Handle(record *slog.Record) (err error) { method Close (line 47) | func (h *GroupedHandler) Close() error { method Flush (line 58) | func (h *GroupedHandler) Flush() error { function NewGroupedHandler (line 19) | func NewGroupedHandler(handlers []slog.Handler) *GroupedHandler { FILE: _example/issue100/issue100_test.go type Obj (line 15) | type Obj struct function TestZapSugar (line 30) | func TestZapSugar(t *testing.T) { function TestZapLog (line 64) | func TestZapLog(t *testing.T) { function TestSlog (line 103) | func TestSlog(t *testing.T) { FILE: _example/issue111/main.go constant pth (line 15) | pth = "./logs/main.log" function main (line 17) | func main() { FILE: _example/issue137/main.go type GLogConfig137 (line 13) | type GLogConfig137 struct type LogRotateConfig137 (line 22) | type LogRotateConfig137 struct type LogConfig137 (line 35) | type LogConfig137 struct function main (line 41) | func main() { FILE: _example/pprof/main.go function main (line 25) | func main() { FILE: _example/refer/main.go function main (line 20) | func main() { FILE: benchmark2_test.go function TestLogger_newRecord_AllocTimes (line 11) | func TestLogger_newRecord_AllocTimes(_ *testing.T) { function Test_AllocTimes_formatArgsWithSpaces_oneElem (line 25) | func Test_AllocTimes_formatArgsWithSpaces_oneElem(_ *testing.T) { function Test_AllocTimes_formatArgsWithSpaces_manyElem (line 43) | func Test_AllocTimes_formatArgsWithSpaces_manyElem(_ *testing.T) { function Test_AllocTimes_stringsPool (line 55) | func Test_AllocTimes_stringsPool(_ *testing.T) { function TestLogger_Info_oneElem_AllocTimes (line 83) | func TestLogger_Info_oneElem_AllocTimes(_ *testing.T) { function TestLogger_Info_moreElem_AllocTimes (line 100) | func TestLogger_Info_moreElem_AllocTimes(_ *testing.T) { FILE: benchmark_test.go function BenchmarkGookitSlogNegative (line 19) | func BenchmarkGookitSlogNegative(b *testing.B) { function TestLogger_Info_Negative (line 32) | func TestLogger_Info_Negative(t *testing.T) { function BenchmarkGookitSlogPositive (line 40) | func BenchmarkGookitSlogPositive(b *testing.B) { function BenchmarkTextFormatter_Format (line 53) | func BenchmarkTextFormatter_Format(b *testing.B) { function TestLogger_Info_Positive (line 78) | func TestLogger_Info_Positive(t *testing.T) { FILE: bufwrite/bufio_writer.go type BufIOWriter (line 10) | type BufIOWriter struct method Close (line 30) | func (w *BufIOWriter) Close() error { method Sync (line 43) | func (w *BufIOWriter) Sync() error { function NewBufIOWriterSize (line 17) | func NewBufIOWriterSize(w io.Writer, size int) *BufIOWriter { function NewBufIOWriter (line 25) | func NewBufIOWriter(w io.Writer) *BufIOWriter { FILE: bufwrite/bufwrite_test.go function TestNewBufIOWriter_WriteString (line 12) | func TestNewBufIOWriter_WriteString(t *testing.T) { type closeWriter (line 28) | type closeWriter struct method Close (line 34) | func (w *closeWriter) Close() error { method Write (line 41) | func (w *closeWriter) Write(p []byte) (n int, err error) { function TestBufIOWriter_Close_error (line 52) | func TestBufIOWriter_Close_error(t *testing.T) { function TestBufIOWriter_Sync (line 70) | func TestBufIOWriter_Sync(t *testing.T) { function TestNewLineWriter (line 83) | func TestNewLineWriter(t *testing.T) { function TestLineWriter_Write_error (line 100) | func TestLineWriter_Write_error(t *testing.T) { function TestLineWriter_Flush_error (line 134) | func TestLineWriter_Flush_error(t *testing.T) { function TestLineWriter_Close_error (line 190) | func TestLineWriter_Close_error(t *testing.T) { function TestNewLineWriterSize (line 211) | func TestNewLineWriterSize(t *testing.T) { FILE: bufwrite/line_writer.go constant defaultBufSize (line 8) | defaultBufSize = 1024 * 8 type LineWriter (line 23) | type LineWriter struct method Size (line 55) | func (b *LineWriter) Size() int { return len(b.buf) } method Reset (line 59) | func (b *LineWriter) Reset(w io.Writer) { method Close (line 67) | func (b *LineWriter) Close() error { method Sync (line 80) | func (b *LineWriter) Sync() error { method Flush (line 87) | func (b *LineWriter) Flush() error { method Available (line 113) | func (b *LineWriter) Available() int { return len(b.buf) - b.n } method Buffered (line 116) | func (b *LineWriter) Buffered() int { return b.n } method Write (line 122) | func (b *LineWriter) Write(p []byte) (nn int, err error) { method WriteString (line 171) | func (b *LineWriter) WriteString(s string) (int, error) { function NewLineWriterSize (line 33) | func NewLineWriterSize(w io.Writer, size int) *LineWriter { function NewLineWriter (line 50) | func NewLineWriter(w io.Writer) *LineWriter { FILE: common.go type SLogger (line 15) | type SLogger interface type LoggerFn (line 22) | type LoggerFn type Level (line 29) | type Level method String (line 32) | func (l Level) String() string { return LevelName(l) } method Name (line 35) | func (l Level) Name() string { return LevelName(l) } method LowerName (line 38) | func (l Level) LowerName() string { method ShouldHandling (line 46) | func (l Level) ShouldHandling(curLevel Level) bool { method MarshalJSON (line 51) | func (l Level) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 56) | func (l *Level) UnmarshalJSON(data []byte) error { type Levels (line 67) | type Levels method Contains (line 70) | func (ls Levels) Contains(level Level) bool { constant PanicLevel (line 82) | PanicLevel Level = 100 constant FatalLevel (line 85) | FatalLevel Level = 200 constant ErrorLevel (line 88) | ErrorLevel Level = 300 constant WarnLevel (line 90) | WarnLevel Level = 400 constant NoticeLevel (line 92) | NoticeLevel Level = 500 constant InfoLevel (line 94) | InfoLevel Level = 600 constant DebugLevel (line 96) | DebugLevel Level = 700 constant TraceLevel (line 98) | TraceLevel Level = 800 type M (line 109) | type M method String (line 112) | func (m M) String() string { type ClockFn (line 117) | type ClockFn method Now (line 120) | func (fn ClockFn) Now() time.Time { constant CallerFlagFnlFcn (line 134) | CallerFlagFnlFcn CallerFlagMode = iota constant CallerFlagFull (line 137) | CallerFlagFull constant CallerFlagFunc (line 140) | CallerFlagFunc constant CallerFlagFcLine (line 143) | CallerFlagFcLine constant CallerFlagPkg (line 146) | CallerFlagPkg constant CallerFlagPkgFnl (line 149) | CallerFlagPkgFnl constant CallerFlagFpLine (line 152) | CallerFlagFpLine constant CallerFlagFnLine (line 155) | CallerFlagFnLine constant CallerFlagFcName (line 158) | CallerFlagFcName function LevelName (line 258) | func LevelName(l Level) string { function LevelByName (line 266) | func LevelByName(ln string) Level { function Name2Level (line 275) | func Name2Level(s string) (Level, error) { return StringToLevel(s) } function StringToLevel (line 278) | func StringToLevel(s string) (Level, error) { function runExitHandlers (line 313) | func runExitHandlers() { function ExitHandlers (line 326) | func ExitHandlers() []func() { function RegisterExitHandler (line 331) | func RegisterExitHandler(handler func()) { function PrependExitHandler (line 336) | func PrependExitHandler(handler func()) { function ResetExitHandlers (line 341) | func ResetExitHandlers(applyToStd bool) { FILE: common_test.go function TestDefine_basic (line 24) | func TestDefine_basic(t *testing.T) { function TestM_String (line 32) | func TestM_String(t *testing.T) { function TestLevelName_func (line 51) | func TestLevelName_func(t *testing.T) { function TestName2Level (line 64) | func TestName2Level(t *testing.T) { function TestLevel_methods (line 92) | func TestLevel_methods(t *testing.T) { function TestLevels_Contains (line 125) | func TestLevels_Contains(t *testing.T) { function newLogRecord (line 132) | func newLogRecord(msg string) *slog.Record { type closedBuffer (line 153) | type closedBuffer struct method Close (line 161) | func (w *closedBuffer) Close() error { method StringReset (line 165) | func (w *closedBuffer) StringReset() string { function newBuffer (line 157) | func newBuffer() *closedBuffer { type testHandler (line 175) | type testHandler struct method IsHandling (line 195) | func (h *testHandler) IsHandling(_ slog.Level) bool { method Close (line 199) | func (h *testHandler) Close() error { method Flush (line 208) | func (h *testHandler) Flush() error { method Handle (line 222) | func (h *testHandler) Handle(r *slog.Record) error { function newTestHandler (line 191) | func newTestHandler() *testHandler { type testFormatter (line 247) | type testFormatter struct method Format (line 257) | func (f testFormatter) Format(r *slog.Record) ([]byte, error) { function newTestFormatter (line 251) | func newTestFormatter(errOnFormat ...bool) *testFormatter { function newLogger (line 268) | func newLogger() *slog.Logger { function newTestLogger (line 276) | func newTestLogger() (*closedBuffer, *slog.Logger) { function printAllLevelLogs (line 288) | func printAllLevelLogs(l gsr.Logger, args ...any) { function printfAllLevelLogs (line 309) | func printfAllLevelLogs(l gsr.Logger, tpl string, args ...any) { FILE: example_test.go function Example_quickStart (line 12) | func Example_quickStart() { function Example_configSlog (line 19) | func Example_configSlog() { function Example_useJSONFormat (line 34) | func Example_useJSONFormat() { function ExampleNew (line 53) | func ExampleNew() { function ExampleFlushDaemon (line 64) | func ExampleFlushDaemon() { FILE: formatter.go type Formatter (line 10) | type Formatter interface type FormatterFunc (line 16) | type FormatterFunc method Format (line 19) | func (fn FormatterFunc) Format(r *Record) ([]byte, error) { type Formattable (line 24) | type Formattable interface type FormatterWrapper (line 37) | type FormatterWrapper struct method Formatter (line 43) | func (f *FormatterWrapper) Formatter() Formatter { method SetFormatter (line 51) | func (f *FormatterWrapper) SetFormatter(formatter Formatter) { method Format (line 56) | func (f *FormatterWrapper) Format(record *Record) ([]byte, error) { type CallerFormatFn (line 61) | type CallerFormatFn function AsTextFormatter (line 64) | func AsTextFormatter(f Formatter) *TextFormatter { function AsJSONFormatter (line 72) | func AsJSONFormatter(f Formatter) *JSONFormatter { FILE: formatter_json.go type JSONFormatter (line 32) | type JSONFormatter struct method Configure (line 65) | func (f *JSONFormatter) Configure(fn func(*JSONFormatter)) *JSONFormat... method AddField (line 71) | func (f *JSONFormatter) AddField(name string) *JSONFormatter { method Format (line 79) | func (f *JSONFormatter) Format(r *Record) ([]byte, error) { function NewJSONFormatter (line 51) | func NewJSONFormatter(fn ...func(f *JSONFormatter)) *JSONFormatter { FILE: formatter_test.go function TestFormattableTrait_Formatter (line 16) | func TestFormattableTrait_Formatter(t *testing.T) { function TestFormattable_Format (line 32) | func TestFormattable_Format(t *testing.T) { function TestNewTextFormatter (line 54) | func TestNewTextFormatter(t *testing.T) { function TestTextFormatter_Format (line 91) | func TestTextFormatter_Format(t *testing.T) { function TestTextFormatter_ColorRenderFunc (line 105) | func TestTextFormatter_ColorRenderFunc(t *testing.T) { function TestTextFormatter_LimitLevelNameLen (line 120) | func TestTextFormatter_LimitLevelNameLen(t *testing.T) { function TestTextFormatter_LimitLevelNameLen2 (line 145) | func TestTextFormatter_LimitLevelNameLen2(t *testing.T) { function TestNewJSONFormatter (line 171) | func TestNewJSONFormatter(t *testing.T) { FILE: formatter_text.go constant DefaultTemplate (line 11) | DefaultTemplate = "[{{datetime}}] [{{channel}}] [{{level}}] [{{caller}}]... constant NamedTemplate (line 12) | NamedTemplate = "{{datetime}} channel={{channel}} level={{level}} [fil... type TextFormatter (line 28) | type TextFormatter struct method Configure (line 103) | func (f *TextFormatter) Configure(fn TextFormatterFn) *TextFormatter { method WithOptions (line 108) | func (f *TextFormatter) WithOptions(fns ...TextFormatterFn) *TextForma... method SetTemplate (line 116) | func (f *TextFormatter) SetTemplate(fmtTpl string) { method Template (line 122) | func (f *TextFormatter) Template() string { method WithEnableColor (line 127) | func (f *TextFormatter) WithEnableColor(enable bool) *TextFormatter { method Fields (line 133) | func (f *TextFormatter) Fields() []string { method Format (line 148) | func (f *TextFormatter) Format(r *Record) ([]byte, error) { method beforeFormat (line 216) | func (f *TextFormatter) beforeFormat() { method renderColorText (line 226) | func (f *TextFormatter) renderColorText(field, s string, l Level) stri... type TextFormatterFn (line 62) | type TextFormatterFn function NewTextFormatter (line 65) | func NewTextFormatter(template ...string) *TextFormatter { function TextFormatterWith (line 89) | func TextFormatterWith(fns ...TextFormatterFn) *TextFormatter { function LimitLevelNameLen (line 94) | func LimitLevelNameLen(length int) TextFormatterFn { FILE: handler.go type Handler (line 16) | type Handler interface type LevelFormattable (line 33) | type LevelFormattable interface type FormattableHandler (line 39) | type FormattableHandler interface type LevelWithFormatter (line 52) | type LevelWithFormatter struct method SetMaxLevel (line 64) | func (h *LevelWithFormatter) SetMaxLevel(maxLv Level) { method IsHandling (line 69) | func (h *LevelWithFormatter) IsHandling(level Level) bool { function NewLvFormatter (line 59) | func NewLvFormatter(maxLv Level) *LevelWithFormatter { type LevelsWithFormatter (line 77) | type LevelsWithFormatter struct method SetLimitLevels (line 89) | func (h *LevelsWithFormatter) SetLimitLevels(levels []Level) { method IsHandling (line 94) | func (h *LevelsWithFormatter) IsHandling(level Level) bool { function NewLvsFormatter (line 84) | func NewLvsFormatter(levels []Level) *LevelsWithFormatter { type LevelMode (line 104) | type LevelMode method MarshalJSON (line 107) | func (m LevelMode) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 112) | func (m *LevelMode) UnmarshalJSON(data []byte) error { method String (line 123) | func (m LevelMode) String() string { constant LevelModeList (line 136) | LevelModeList LevelMode = iota constant LevelModeMax (line 138) | LevelModeMax function SafeToLevelMode (line 142) | func SafeToLevelMode(s string) LevelMode { function StringToLevelMode (line 151) | func StringToLevelMode(s string) (LevelMode, error) { type LevelHandling (line 170) | type LevelHandling struct method SetMaxLevel (line 180) | func (h *LevelHandling) SetMaxLevel(maxLv Level) { method SetLimitLevels (line 186) | func (h *LevelHandling) SetLimitLevels(levels []Level) { method IsHandling (line 192) | func (h *LevelHandling) IsHandling(level Level) bool { type LevelFormatting (line 206) | type LevelFormatting struct function NewMaxLevelFormatting (line 212) | func NewMaxLevelFormatting(maxLevel Level) *LevelFormatting { function NewLevelsFormatting (line 219) | func NewLevelsFormatting(levels []Level) *LevelFormatting { FILE: handler/buffer.go function NewBuffered (line 12) | func NewBuffered(w io.WriteCloser, bufSize int, levels ...slog.Level) *F... function NewBufferedHandler (line 17) | func NewBufferedHandler(w io.WriteCloser, bufSize int, levels ...slog.Le... function LineBufferedFile (line 27) | func LineBufferedFile(logfile string, bufSize int, levels []slog.Level) ... function LineBuffOsFile (line 43) | func LineBuffOsFile(f *os.File, bufSize int, levels []slog.Level) slog.H... function LineBuffWriter (line 53) | func LineBuffWriter(w io.Writer, bufSize int, levels []slog.Level) slog.... type FormatWriterHandler (line 67) | type FormatWriterHandler interface FILE: handler/buffer_test.go function TestNewBufferedHandler (line 13) | func TestNewBufferedHandler(t *testing.T) { function TestLineBufferedFile (line 42) | func TestLineBufferedFile(t *testing.T) { function TestLineBuffOsFile (line 62) | func TestLineBuffOsFile(t *testing.T) { function TestLineBuffWriter (line 89) | func TestLineBuffWriter(t *testing.T) { FILE: handler/builder.go type Builder (line 17) | type Builder struct method WithOutput (line 30) | func (b *Builder) WithOutput(w io.Writer) *Builder { method With (line 38) | func (b *Builder) With(fns ...ConfigFn) *Builder { method WithConfigFn (line 43) | func (b *Builder) WithConfigFn(fns ...ConfigFn) *Builder { method WithLogfile (line 49) | func (b *Builder) WithLogfile(logfile string) *Builder { method WithLevelMode (line 55) | func (b *Builder) WithLevelMode(mode slog.LevelMode) *Builder { method WithLogLevel (line 61) | func (b *Builder) WithLogLevel(level slog.Level) *Builder { method WithLogLevels (line 68) | func (b *Builder) WithLogLevels(levels []slog.Level) *Builder { method WithBuffMode (line 75) | func (b *Builder) WithBuffMode(bufMode string) *Builder { method WithBuffSize (line 81) | func (b *Builder) WithBuffSize(bufSize int) *Builder { method WithMaxSize (line 87) | func (b *Builder) WithMaxSize(maxSize uint64) *Builder { method WithRotateTime (line 93) | func (b *Builder) WithRotateTime(rt rotatefile.RotateTime) *Builder { method WithCompress (line 99) | func (b *Builder) WithCompress(compress bool) *Builder { method WithUseJSON (line 105) | func (b *Builder) WithUseJSON(useJSON bool) *Builder { method Build (line 111) | func (b *Builder) Build() slog.FormattableHandler { method buildFromWriter (line 128) | func (b *Builder) buildFromWriter(w io.Writer) (h slog.FormattableHand... method reset (line 167) | func (b *Builder) reset() { function NewBuilder (line 23) | func NewBuilder() *Builder { FILE: handler/config.go constant BuffModeLine (line 18) | BuffModeLine = "line" constant BuffModeBite (line 19) | BuffModeBite = "bite" constant LevelModeList (line 24) | LevelModeList = slog.LevelModeList constant LevelModeValue (line 26) | LevelModeValue = slog.LevelModeMax type ConfigFn (line 30) | type ConfigFn type Config (line 33) | type Config struct method FromJSON (line 123) | func (c *Config) FromJSON(bts []byte) error { return json.Unmarshal(bt... method With (line 126) | func (c *Config) With(fns ...ConfigFn) *Config { return c.WithConfigFn... method WithConfigFn (line 129) | func (c *Config) WithConfigFn(fns ...ConfigFn) *Config { method newLevelFormattable (line 136) | func (c *Config) newLevelFormattable() slog.LevelFormattable { method CreateHandler (line 144) | func (c *Config) CreateHandler() (*SyncCloseHandler, error) { method RotateWriter (line 163) | func (c *Config) RotateWriter() (output SyncCloseWriter, err error) { method CreateWriter (line 172) | func (c *Config) CreateWriter() (output SyncCloseWriter, err error) { method wrapBuffer (line 229) | func (c *Config) wrapBuffer(w io.Writer) (bw flushSyncCloseWriter) { function NewEmptyConfig (line 99) | func NewEmptyConfig(fns ...ConfigFn) *Config { function NewConfig (line 105) | func NewConfig(fns ...ConfigFn) *Config { type flushSyncCloseWriter (line 223) | type flushSyncCloseWriter interface function WithLogfile (line 245) | func WithLogfile(logfile string) ConfigFn { function WithFilePerm (line 250) | func WithFilePerm(filePerm fs.FileMode) ConfigFn { function WithLevelMode (line 255) | func WithLevelMode(lm slog.LevelMode) ConfigFn { function WithLevelModeString (line 260) | func WithLevelModeString(s string) ConfigFn { function WithLogLevel (line 265) | func WithLogLevel(level slog.Level) ConfigFn { function WithLevelName (line 273) | func WithLevelName(name string) ConfigFn { return WithLogLevel(slog.Leve... function WithMaxLevelName (line 276) | func WithMaxLevelName(name string) ConfigFn { return WithLogLevel(slog.L... function WithLogLevels (line 279) | func WithLogLevels(levels slog.Levels) ConfigFn { function WithLevelNamesString (line 287) | func WithLevelNamesString(names string) ConfigFn { function WithLevelNames (line 292) | func WithLevelNames(names []string) ConfigFn { function WithRotateTime (line 301) | func WithRotateTime(rt rotatefile.RotateTime) ConfigFn { function WithRotateTimeString (line 308) | func WithRotateTimeString(s string) ConfigFn { function WithRotateMode (line 319) | func WithRotateMode(m rotatefile.RotateMode) ConfigFn { function WithRotateModeString (line 324) | func WithRotateModeString(s string) ConfigFn { function WithTimeClock (line 335) | func WithTimeClock(clock rotatefile.Clocker) ConfigFn { function WithBackupNum (line 340) | func WithBackupNum(n uint) ConfigFn { function WithBackupTime (line 345) | func WithBackupTime(bt uint) ConfigFn { function WithBuffMode (line 350) | func WithBuffMode(buffMode string) ConfigFn { function WithBuffSize (line 355) | func WithBuffSize(buffSize int) ConfigFn { function WithMaxSize (line 360) | func WithMaxSize(maxSize uint64) ConfigFn { function WithCompress (line 365) | func WithCompress(compress bool) ConfigFn { function WithUseJSON (line 370) | func WithUseJSON(useJSON bool) ConfigFn { function WithDebugMode (line 375) | func WithDebugMode(c *Config) { c.DebugMode = true } FILE: handler/config_test.go function TestNewConfig (line 17) | func TestNewConfig(t *testing.T) { function TestConfig_fromJSON (line 47) | func TestConfig_fromJSON(t *testing.T) { function TestWithLevelNamesString (line 72) | func TestWithLevelNamesString(t *testing.T) { function TestWithMaxLevelName (line 77) | func TestWithMaxLevelName(t *testing.T) { function TestWithRotateMode (line 87) | func TestWithRotateMode(t *testing.T) { function TestWithRotateTimeString (line 99) | func TestWithRotateTimeString(t *testing.T) { function TestNewBuilder (line 131) | func TestNewBuilder(t *testing.T) { type simpleWriter (line 171) | type simpleWriter struct method Write (line 175) | func (w *simpleWriter) Write(p []byte) (n int, err error) { type closeWriter (line 182) | type closeWriter struct method Close (line 187) | func (w *closeWriter) Close() error { method Write (line 194) | func (w *closeWriter) Write(p []byte) (n int, err error) { type flushCloseWriter (line 201) | type flushCloseWriter struct method Flush (line 207) | func (w *flushCloseWriter) Flush() error { type syncCloseWriter (line 214) | type syncCloseWriter struct method Sync (line 220) | func (w *syncCloseWriter) Sync() error { function TestNewBuilder_buildFromWriter (line 227) | func TestNewBuilder_buildFromWriter(t *testing.T) { FILE: handler/console.go function NewConsoleWithLF (line 18) | func NewConsoleWithLF(lf slog.LevelFormattable) *ConsoleHandler { function ConsoleWithMaxLevel (line 35) | func ConsoleWithMaxLevel(level slog.Level) *ConsoleHandler { function NewConsole (line 44) | func NewConsole(levels []slog.Level) *ConsoleHandler { function ConsoleWithLevels (line 49) | func ConsoleWithLevels(levels []slog.Level) *ConsoleHandler { function NewConsoleHandler (line 54) | func NewConsoleHandler(levels []slog.Level) *ConsoleHandler { FILE: handler/console_test.go function TestConsoleWithMaxLevel (line 11) | func TestConsoleWithMaxLevel(t *testing.T) { FILE: handler/email.go type EmailOption (line 11) | type EmailOption struct type EmailHandler (line 19) | type EmailHandler struct method Handle (line 42) | func (h *EmailHandler) Handle(r *slog.Record) error { function NewEmailHandler (line 29) | func NewEmailHandler(from EmailOption, toAddresses []string) *EmailHandl... FILE: handler/example_test.go function Example_fileHandler (line 8) | func Example_fileHandler() { function Example_rotateFileHandler (line 23) | func Example_rotateFileHandler() { FILE: handler/file.go function JSONFileHandler (line 9) | func JSONFileHandler(logfile string, fns ...ConfigFn) (*SyncCloseHandler... function NewBuffFileHandler (line 14) | func NewBuffFileHandler(logfile string, buffSize int, fns ...ConfigFn) (... function MustFileHandler (line 19) | func MustFileHandler(logfile string, fns ...ConfigFn) *SyncCloseHandler { function NewFileHandler (line 24) | func NewFileHandler(logfile string, fns ...ConfigFn) (h *SyncCloseHandle... function MustSimpleFile (line 33) | func MustSimpleFile(filepath string, maxLv ...slog.Level) *SyncCloseHand... function NewSimpleFile (line 38) | func NewSimpleFile(filepath string, maxLv ...slog.Level) (*SyncCloseHand... function NewSimpleFileHandler (line 53) | func NewSimpleFileHandler(filePath string, maxLv ...slog.Level) (*SyncCl... FILE: handler/file_test.go function TestNewFileHandler (line 15) | func TestNewFileHandler(t *testing.T) { function TestMustFileHandler (line 39) | func TestMustFileHandler(t *testing.T) { function TestNewFileHandler_basic (line 58) | func TestNewFileHandler_basic(t *testing.T) { function TestNewBuffFileHandler (line 79) | func TestNewBuffFileHandler(t *testing.T) { function TestJSONFileHandler (line 100) | func TestJSONFileHandler(t *testing.T) { function TestSimpleFile (line 121) | func TestSimpleFile(t *testing.T) { function TestNewSimpleFileHandler (line 135) | func TestNewSimpleFileHandler(t *testing.T) { FILE: handler/handler.go type FlushWriter (line 28) | type FlushWriter interface type FlushCloseWriter (line 35) | type FlushCloseWriter interface type SyncCloseWriter (line 43) | type SyncCloseWriter interface type NopFlushClose (line 72) | type NopFlushClose struct method Flush (line 75) | func (h *NopFlushClose) Flush() error { method Close (line 80) | func (h *NopFlushClose) Close() error { type LockWrapper (line 85) | type LockWrapper struct method Lock (line 91) | func (lw *LockWrapper) Lock() { method Unlock (line 98) | func (lw *LockWrapper) Unlock() { method EnableLock (line 105) | func (lw *LockWrapper) EnableLock(enable bool) { method LockEnabled (line 110) | func (lw *LockWrapper) LockEnabled() bool { function QuickOpenFile (line 115) | func QuickOpenFile(filepath string) (*os.File, error) { FILE: handler/handler_test.go function TestMain (line 23) | func TestMain(m *testing.M) { function TestConfig_CreateWriter (line 29) | func TestConfig_CreateWriter(t *testing.T) { function TestConfig_RotateWriter (line 63) | func TestConfig_RotateWriter(t *testing.T) { function TestConsoleHandlerWithColor (line 71) | func TestConsoleHandlerWithColor(t *testing.T) { function TestConsoleHandlerNoColor (line 82) | func TestConsoleHandlerNoColor(t *testing.T) { function TestNewEmailHandler (line 94) | func TestNewEmailHandler(t *testing.T) { function TestLevelWithFormatter (line 112) | func TestLevelWithFormatter(t *testing.T) { function TestLevelsWithFormatter (line 120) | func TestLevelsWithFormatter(t *testing.T) { function TestNopFlushClose_Flush (line 128) | func TestNopFlushClose_Flush(t *testing.T) { function TestLockWrapper_Lock (line 135) | func TestLockWrapper_Lock(t *testing.T) { function logAllLevel (line 149) | func logAllLevel(log slog.SLogger, msg string) { function newLogRecord (line 155) | func newLogRecord(msg string) *slog.Record { type testHandler (line 173) | type testHandler struct method IsHandling (line 189) | func (h testHandler) IsHandling(_ slog.Level) bool { method Close (line 193) | func (h testHandler) Close() error { method Flush (line 200) | func (h testHandler) Flush() error { method Handle (line 207) | func (h testHandler) Handle(_ *slog.Record) error { function newTestHandler (line 179) | func newTestHandler() *testHandler { type testFormatter (line 214) | type testFormatter struct method Format (line 224) | func (f testFormatter) Format(r *slog.Record) ([]byte, error) { function newTestFormatter (line 218) | func newTestFormatter(errOnFormat ...bool) *testFormatter { FILE: handler/rotatefile.go function NewRotateFileHandler (line 9) | func NewRotateFileHandler(logfile string, rt rotatefile.RotateTime, fns ... function MustRotateFile (line 22) | func MustRotateFile(logfile string, rt rotatefile.RotateTime, fns ...Con... function NewRotateFile (line 27) | func NewRotateFile(logfile string, rt rotatefile.RotateTime, fns ...Conf... function MustSizeRotateFile (line 38) | func MustSizeRotateFile(logfile string, maxSize int, fns ...ConfigFn) *S... function NewSizeRotateFile (line 43) | func NewSizeRotateFile(logfile string, maxSize int, fns ...ConfigFn) (*S... function NewSizeRotateFileHandler (line 48) | func NewSizeRotateFileHandler(logfile string, maxSize int, fns ...Config... constant EveryDay (line 75) | EveryDay = rotatefile.EveryDay constant EveryHour (line 76) | EveryHour = rotatefile.EveryDay constant Every30Minutes (line 78) | Every30Minutes = rotatefile.Every30Min constant Every15Minutes (line 79) | Every15Minutes = rotatefile.Every15Min constant EveryMinute (line 81) | EveryMinute = rotatefile.EveryMinute constant EverySecond (line 82) | EverySecond = rotatefile.EverySecond function MustTimeRotateFile (line 86) | func MustTimeRotateFile(logfile string, rt rotatefile.RotateTime, fns ..... function NewTimeRotateFile (line 91) | func NewTimeRotateFile(logfile string, rt rotatefile.RotateTime, fns ...... function NewTimeRotateFileHandler (line 96) | func NewTimeRotateFileHandler(logfile string, rt rotatefile.RotateTime, ... FILE: handler/rotatefile_test.go function TestNewRotateFileHandler (line 18) | func TestNewRotateFileHandler(t *testing.T) { function TestNewSizeRotateFileHandler (line 56) | func TestNewSizeRotateFileHandler(t *testing.T) { function TestNewTimeRotateFileHandler_EveryDay (line 90) | func TestNewTimeRotateFileHandler_EveryDay(t *testing.T) { function TestNewTimeRotateFileHandler_EveryHour (line 119) | func TestNewTimeRotateFileHandler_EveryHour(t *testing.T) { function TestNewTimeRotateFileHandler_someSeconds (line 149) | func TestNewTimeRotateFileHandler_someSeconds(t *testing.T) { function checkLogFileContents (line 170) | func checkLogFileContents(t *testing.T, logfile string) { FILE: handler/syslog.go type SysLogOpt (line 12) | type SysLogOpt struct type SysLogHandler (line 24) | type SysLogHandler struct method Handle (line 54) | func (h *SysLogHandler) Handle(record *slog.Record) error { method Close (line 82) | func (h *SysLogHandler) Close() error { method Flush (line 87) | func (h *SysLogHandler) Flush() error { function NewSysLogHandler (line 30) | func NewSysLogHandler(priority syslog.Priority, tag string) (*SysLogHand... function NewSysLog (line 38) | func NewSysLog(opt *SysLogOpt) (*SysLogHandler, error) { FILE: handler/syslog_test.go function TestNewSysLogHandler (line 13) | func TestNewSysLogHandler(t *testing.T) { FILE: handler/write_close_flusher.go type FlushCloseHandler (line 8) | type FlushCloseHandler struct method Close (line 59) | func (h *FlushCloseHandler) Close() error { method Flush (line 67) | func (h *FlushCloseHandler) Flush() error { method Handle (line 72) | func (h *FlushCloseHandler) Handle(record *slog.Record) error { function NewFlushCloserWithLF (line 14) | func NewFlushCloserWithLF(out FlushCloseWriter, lf slog.LevelFormattable... function FlushCloserWithMaxLevel (line 27) | func FlushCloserWithMaxLevel(out FlushCloseWriter, maxLevel slog.Level) ... function NewFlushCloser (line 36) | func NewFlushCloser(out FlushCloseWriter, levels []slog.Level) *FlushClo... function FlushCloserWithLevels (line 41) | func FlushCloserWithLevels(out FlushCloseWriter, levels []slog.Level) *F... function NewFlushCloseHandler (line 54) | func NewFlushCloseHandler(out FlushCloseWriter, levels []slog.Level) *Fl... FILE: handler/write_close_syncer.go type SyncCloseHandler (line 10) | type SyncCloseHandler struct method Close (line 58) | func (h *SyncCloseHandler) Close() error { method Flush (line 66) | func (h *SyncCloseHandler) Flush() error { method Writer (line 71) | func (h *SyncCloseHandler) Writer() io.Writer { method Handle (line 76) | func (h *SyncCloseHandler) Handle(record *slog.Record) error { function NewSyncCloserWithLF (line 16) | func NewSyncCloserWithLF(out SyncCloseWriter, lf slog.LevelFormattable) ... function SyncCloserWithMaxLevel (line 29) | func SyncCloserWithMaxLevel(out SyncCloseWriter, maxLevel slog.Level) *S... function NewSyncCloser (line 38) | func NewSyncCloser(out SyncCloseWriter, levels []slog.Level) *SyncCloseH... function SyncCloserWithLevels (line 43) | func SyncCloserWithLevels(out SyncCloseWriter, levels []slog.Level) *Syn... function NewSyncCloseHandler (line 53) | func NewSyncCloseHandler(out SyncCloseWriter, levels []slog.Level) *Sync... FILE: handler/write_closer.go type WriteCloserHandler (line 10) | type WriteCloserHandler struct method Close (line 59) | func (h *WriteCloserHandler) Close() error { method Flush (line 64) | func (h *WriteCloserHandler) Flush() error { method Handle (line 69) | func (h *WriteCloserHandler) Handle(record *slog.Record) error { function NewWriteCloserWithLF (line 16) | func NewWriteCloserWithLF(out io.WriteCloser, lf slog.LevelFormattable) ... function WriteCloserWithMaxLevel (line 25) | func WriteCloserWithMaxLevel(out io.WriteCloser, maxLevel slog.Level) *W... function WriteCloserWithLevels (line 34) | func WriteCloserWithLevels(out io.WriteCloser, levels []slog.Level) *Wri... function NewWriteCloser (line 41) | func NewWriteCloser(out io.WriteCloser, levels []slog.Level) *WriteClose... function NewWriteCloserHandler (line 54) | func NewWriteCloserHandler(out io.WriteCloser, levels []slog.Level) *Wri... FILE: handler/writer.go type IOWriterHandler (line 10) | type IOWriterHandler struct method TextFormatter (line 17) | func (h *IOWriterHandler) TextFormatter() *slog.TextFormatter { method Handle (line 22) | func (h *IOWriterHandler) Handle(record *slog.Record) error { function NewIOWriterWithLF (line 33) | func NewIOWriterWithLF(out io.Writer, lf slog.LevelFormattable) *IOWrite... function IOWriterWithMaxLevel (line 53) | func IOWriterWithMaxLevel(out io.Writer, maxLevel slog.Level) *IOWriterH... function NewIOWriter (line 62) | func NewIOWriter(out io.Writer, levels []slog.Level) *IOWriterHandler { function IOWriterWithLevels (line 67) | func IOWriterWithLevels(out io.Writer, levels []slog.Level) *IOWriterHan... function NewIOWriterHandler (line 80) | func NewIOWriterHandler(out io.Writer, levels []slog.Level) *IOWriterHan... function NewHandler (line 88) | func NewHandler(out io.Writer, maxLevel slog.Level) *SimpleHandler { function NewSimple (line 93) | func NewSimple(out io.Writer, maxLevel slog.Level) *SimpleHandler { function SimpleWithLevels (line 98) | func SimpleWithLevels(out io.Writer, levels []slog.Level) *IOWriterHandl... function NewSimpleHandler (line 111) | func NewSimpleHandler(out io.Writer, maxLevel slog.Level) *IOWriterHandl... FILE: handler/writer_test.go function TestNewIOWriter (line 15) | func TestNewIOWriter(t *testing.T) { function TestNewSyncCloser (line 31) | func TestNewSyncCloser(t *testing.T) { function TestNewWriteCloser (line 67) | func TestNewWriteCloser(t *testing.T) { function TestNewFlushCloser (line 98) | func TestNewFlushCloser(t *testing.T) { function TestNewSimpleHandler (line 136) | func TestNewSimpleHandler(t *testing.T) { FILE: handler_test.go function TestSafeToLevelMode (line 10) | func TestSafeToLevelMode(t *testing.T) { function TestNewLvFormatter (line 33) | func TestNewLvFormatter(t *testing.T) { function TestNewLvsFormatter (line 44) | func TestNewLvsFormatter(t *testing.T) { function TestLevelFormatting (line 53) | func TestLevelFormatting(t *testing.T) { FILE: internal/util.go function AddSuffix2path (line 8) | func AddSuffix2path(filePath, suffix string) string { function BuildGlobPattern (line 14) | func BuildGlobPattern(logfile string) string { FILE: issues_test.go function TestIssues_27 (line 20) | func TestIssues_27(t *testing.T) { function TestIssues_31 (line 35) | func TestIssues_31(t *testing.T) { function TestIssues_52 (line 54) | func TestIssues_52(t *testing.T) { function TestIssues_75 (line 67) | func TestIssues_75(t *testing.T) { function TestIssues_105 (line 79) | func TestIssues_105(t *testing.T) { function TestIssues_108 (line 103) | func TestIssues_108(t *testing.T) { function TestIssues_121 (line 133) | func TestIssues_121(t *testing.T) { function TestIssues_137 (line 167) | func TestIssues_137(t *testing.T) { function TestIssues_139 (line 187) | func TestIssues_139(t *testing.T) { function TestIssues_144 (line 212) | func TestIssues_144(t *testing.T) { function TestIssues_161 (line 234) | func TestIssues_161(t *testing.T) { function TestIssues_163 (line 255) | func TestIssues_163(t *testing.T) { FILE: logger.go type Logger (line 14) | type Logger struct method newRecord (line 98) | func (l *Logger) newRecord() *Record { method releaseRecord (line 106) | func (l *Logger) releaseRecord(r *Record) { method Config (line 140) | func (l *Logger) Config(fns ...LoggerFn) *Logger { method Configure (line 148) | func (l *Logger) Configure(fn LoggerFn) *Logger { return l.Config(fn) } method RegisterExitHandler (line 151) | func (l *Logger) RegisterExitHandler(handler func()) { method PrependExitHandler (line 156) | func (l *Logger) PrependExitHandler(handler func()) { method ResetExitHandlers (line 161) | func (l *Logger) ResetExitHandlers() { l.exitHandlers = make([]func(),... method ExitHandlers (line 164) | func (l *Logger) ExitHandlers() []func() { return l.exitHandlers } method SetName (line 167) | func (l *Logger) SetName(name string) { l.name = name } method Name (line 170) | func (l *Logger) Name() string { return l.name } method FlushDaemon (line 183) | func (l *Logger) FlushDaemon(onStops ...func()) { method StopDaemon (line 209) | func (l *Logger) StopDaemon() { method FlushTimeout (line 219) | func (l *Logger) FlushTimeout(timeout time.Duration) { method Sync (line 236) | func (l *Logger) Sync() error { return Flush() } method Flush (line 240) | func (l *Logger) Flush() error { return l.lockAndFlushAll() } method MustFlush (line 243) | func (l *Logger) MustFlush() { method FlushAll (line 250) | func (l *Logger) FlushAll() error { return l.lockAndFlushAll() } method lockAndFlushAll (line 253) | func (l *Logger) lockAndFlushAll() error { method flushAll (line 262) | func (l *Logger) flushAll() { method MustClose (line 274) | func (l *Logger) MustClose() { goutil.PanicErr(l.Close()) } method Close (line 281) | func (l *Logger) Close() error { method VisitAll (line 299) | func (l *Logger) VisitAll(fn func(handler Handler) error) error { method Reset (line 310) | func (l *Logger) Reset() { method ResetProcessors (line 317) | func (l *Logger) ResetProcessors() { l.processors = make([]Processor, ... method ResetHandlers (line 320) | func (l *Logger) ResetHandlers() { l.handlers = make([]Handler, 0) } method Exit (line 323) | func (l *Logger) Exit(code int) { method runExitHandlers (line 334) | func (l *Logger) runExitHandlers() { method DoNothingOnPanicFatal (line 347) | func (l *Logger) DoNothingOnPanicFatal() { method HandlersNum (line 353) | func (l *Logger) HandlersNum() int { return len(l.handlers) } method LastErr (line 356) | func (l *Logger) LastErr() error { method AddHandler (line 369) | func (l *Logger) AddHandler(h Handler) { l.PushHandlers(h) } method AddHandlers (line 372) | func (l *Logger) AddHandlers(hs ...Handler) { l.PushHandlers(hs...) } method PushHandler (line 375) | func (l *Logger) PushHandler(h Handler) { l.PushHandlers(h) } method PushHandlers (line 378) | func (l *Logger) PushHandlers(hs ...Handler) { method SetHandlers (line 385) | func (l *Logger) SetHandlers(hs []Handler) { l.handlers = hs } method AddProcessor (line 388) | func (l *Logger) AddProcessor(p Processor) { l.processors = append(l.p... method PushProcessor (line 391) | func (l *Logger) PushProcessor(p Processor) { l.processors = append(l.... method AddProcessors (line 394) | func (l *Logger) AddProcessors(ps ...Processor) { l.processors = appen... method SetProcessors (line 397) | func (l *Logger) SetProcessors(ps []Processor) { l.processors = ps } method NewSub (line 412) | func (l *Logger) NewSub() *SubLogger { return NewSubWith(l) } method Record (line 421) | func (l *Logger) Record() *Record { return l.newRecord() } method Reused (line 434) | func (l *Logger) Reused() *Record { return l.newRecord().Reused() } method WithField (line 439) | func (l *Logger) WithField(name string, value any) *Record { method WithFields (line 448) | func (l *Logger) WithFields(fields M) *Record { method WithData (line 455) | func (l *Logger) WithData(data M) *Record { method WithValue (line 460) | func (l *Logger) WithValue(key string, value any) *Record { method WithExtra (line 465) | func (l *Logger) WithExtra(ext M) *Record { method WithTime (line 470) | func (l *Logger) WithTime(t time.Time) *Record { method WithCtx (line 477) | func (l *Logger) WithCtx(ctx context.Context) *Record { return l.WithC... method WithContext (line 480) | func (l *Logger) WithContext(ctx context.Context) *Record { method log (line 492) | func (l *Logger) log(level Level, args []any) { method logf (line 499) | func (l *Logger) logf(level Level, format string, args []any) { method logCtx (line 506) | func (l *Logger) logCtx(ctx context.Context, level Level, args []any) { method logfCtx (line 514) | func (l *Logger) logfCtx(ctx context.Context, level Level, format stri... method Log (line 522) | func (l *Logger) Log(level Level, args ...any) { l.log(level, args) } method Logf (line 525) | func (l *Logger) Logf(level Level, format string, args ...any) { l.log... method Print (line 528) | func (l *Logger) Print(args ...any) { l.log(PrintLevel, args) } method Println (line 531) | func (l *Logger) Println(args ...any) { l.log(PrintLevel, args) } method Printf (line 534) | func (l *Logger) Printf(format string, args ...any) { l.logf(PrintLeve... method Trace (line 537) | func (l *Logger) Trace(args ...any) { l.log(TraceLevel, args) } method Tracef (line 540) | func (l *Logger) Tracef(format string, args ...any) { l.logf(TraceLeve... method TraceCtx (line 543) | func (l *Logger) TraceCtx(ctx context.Context, args ...any) { l.logCtx... method TracefCtx (line 546) | func (l *Logger) TracefCtx(ctx context.Context, format string, args ..... method Debug (line 551) | func (l *Logger) Debug(args ...any) { l.log(DebugLevel, args) } method Debugf (line 554) | func (l *Logger) Debugf(format string, args ...any) { l.logf(DebugLeve... method DebugCtx (line 557) | func (l *Logger) DebugCtx(ctx context.Context, args ...any) { l.logCtx... method DebugfCtx (line 560) | func (l *Logger) DebugfCtx(ctx context.Context, format string, args ..... method Info (line 565) | func (l *Logger) Info(args ...any) { l.log(InfoLevel, args) } method Infof (line 568) | func (l *Logger) Infof(format string, args ...any) { l.logf(InfoLevel,... method InfoCtx (line 571) | func (l *Logger) InfoCtx(ctx context.Context, args ...any) { l.logCtx(... method InfofCtx (line 574) | func (l *Logger) InfofCtx(ctx context.Context, format string, args ...... method Notice (line 579) | func (l *Logger) Notice(args ...any) { l.log(NoticeLevel, args) } method Noticef (line 582) | func (l *Logger) Noticef(format string, args ...any) { l.logf(NoticeLe... method NoticeCtx (line 585) | func (l *Logger) NoticeCtx(ctx context.Context, args ...any) { l.logCt... method NoticefCtx (line 588) | func (l *Logger) NoticefCtx(ctx context.Context, format string, args .... method Warn (line 593) | func (l *Logger) Warn(args ...any) { l.log(WarnLevel, args) } method Warnf (line 596) | func (l *Logger) Warnf(format string, args ...any) { l.logf(WarnLevel,... method WarnCtx (line 599) | func (l *Logger) WarnCtx(ctx context.Context, args ...any) { l.logCtx(... method WarnfCtx (line 602) | func (l *Logger) WarnfCtx(ctx context.Context, format string, args ...... method Warning (line 607) | func (l *Logger) Warning(args ...any) { l.log(WarnLevel, args) } method Error (line 610) | func (l *Logger) Error(args ...any) { l.log(ErrorLevel, args) } method Errorf (line 613) | func (l *Logger) Errorf(format string, args ...any) { l.logf(ErrorLeve... method ErrorT (line 616) | func (l *Logger) ErrorT(err error) { method ErrorCtx (line 623) | func (l *Logger) ErrorCtx(ctx context.Context, args ...any) { l.logCtx... method ErrorfCtx (line 626) | func (l *Logger) ErrorfCtx(ctx context.Context, format string, args ..... method Fatal (line 634) | func (l *Logger) Fatal(args ...any) { l.log(FatalLevel, args) } method Fatalf (line 637) | func (l *Logger) Fatalf(format string, args ...any) { l.logf(FatalLeve... method Fatalln (line 640) | func (l *Logger) Fatalln(args ...any) { l.log(FatalLevel, args) } method FatalCtx (line 643) | func (l *Logger) FatalCtx(ctx context.Context, args ...any) { l.logCtx... method FatalfCtx (line 646) | func (l *Logger) FatalfCtx(ctx context.Context, format string, args ..... method Panic (line 651) | func (l *Logger) Panic(args ...any) { l.log(PanicLevel, args) } method Panicf (line 654) | func (l *Logger) Panicf(format string, args ...any) { l.logf(PanicLeve... method Panicln (line 657) | func (l *Logger) Panicln(args ...any) { l.log(PanicLevel, args) } method PanicCtx (line 660) | func (l *Logger) PanicCtx(ctx context.Context, args ...any) { l.logCtx... method PanicfCtx (line 663) | func (l *Logger) PanicfCtx(ctx context.Context, format string, args ..... function New (line 62) | func New(fns ...LoggerFn) *Logger { return NewWithName("logger", fns...) } function NewWithHandlers (line 65) | func NewWithHandlers(hs ...Handler) *Logger { function NewWithConfig (line 72) | func NewWithConfig(fns ...LoggerFn) *Logger { return NewWithName("logger... function NewWithName (line 75) | func NewWithName(name string, fns ...LoggerFn) *Logger { constant defaultFlushInterval (line 178) | defaultFlushInterval = 30 * time.Second FILE: logger_sub.go type SubLogger (line 16) | type SubLogger struct method KeepCtx (line 33) | func (sub *SubLogger) KeepCtx(ctx context.Context) *SubLogger { method KeepFields (line 39) | func (sub *SubLogger) KeepFields(fields M) *SubLogger { method KeepField (line 45) | func (sub *SubLogger) KeepField(field string, value any) *SubLogger { method KeepData (line 55) | func (sub *SubLogger) KeepData(data M) *SubLogger { method KeepExtra (line 61) | func (sub *SubLogger) KeepExtra(extra M) *SubLogger { method Release (line 67) | func (sub *SubLogger) Release() { method withKeepCtx (line 75) | func (sub *SubLogger) withKeepCtx() *Record { method Print (line 90) | func (sub *SubLogger) Print(args ...any) { sub.withKeepCtx().Print(arg... method Printf (line 93) | func (sub *SubLogger) Printf(format string, args ...any) { sub.withKee... method Trace (line 96) | func (sub *SubLogger) Trace(args ...any) { sub.withKeepCtx().Trace(arg... method Tracef (line 99) | func (sub *SubLogger) Tracef(format string, args ...any) { method Debug (line 104) | func (sub *SubLogger) Debug(args ...any) { sub.withKeepCtx().Debug(arg... method Debugf (line 107) | func (sub *SubLogger) Debugf(format string, args ...any) { method Info (line 112) | func (sub *SubLogger) Info(args ...any) { sub.withKeepCtx().Info(args.... method Infof (line 115) | func (sub *SubLogger) Infof(format string, args ...any) { method Notice (line 120) | func (sub *SubLogger) Notice(args ...any) { sub.withKeepCtx().Notice(a... method Noticef (line 123) | func (sub *SubLogger) Noticef(format string, args ...any) { method Warn (line 128) | func (sub *SubLogger) Warn(args ...any) { sub.withKeepCtx().Warn(args.... method Warnf (line 131) | func (sub *SubLogger) Warnf(format string, args ...any) { method Error (line 136) | func (sub *SubLogger) Error(args ...any) { sub.withKeepCtx().Error(arg... method Errorf (line 139) | func (sub *SubLogger) Errorf(format string, args ...any) { method Fatal (line 144) | func (sub *SubLogger) Fatal(args ...any) { sub.withKeepCtx().Fatal(arg... method Fatalf (line 147) | func (sub *SubLogger) Fatalf(format string, args ...any) { method Panic (line 152) | func (sub *SubLogger) Panic(args ...any) { sub.withKeepCtx().Panic(arg... method Panicf (line 155) | func (sub *SubLogger) Panicf(format string, args ...any) { function NewSubWith (line 30) | func NewSubWith(l *Logger) *SubLogger { return &SubLogger{l: l} } FILE: logger_test.go function TestLoggerBasic (line 18) | func TestLoggerBasic(t *testing.T) { function TestLogger_PushHandler (line 27) | func TestLogger_PushHandler(t *testing.T) { function TestLogger_ReportCaller (line 56) | func TestLogger_ReportCaller(t *testing.T) { function TestLogger_Log (line 75) | func TestLogger_Log(t *testing.T) { function TestLogger_WithContext (line 88) | func TestLogger_WithContext(t *testing.T) { function TestLogger_panic (line 104) | func TestLogger_panic(t *testing.T) { function TestLogger_error (line 128) | func TestLogger_error(t *testing.T) { function TestLogger_panicLevel (line 144) | func TestLogger_panicLevel(t *testing.T) { function TestLogger_log_allLevel (line 170) | func TestLogger_log_allLevel(t *testing.T) { function TestLogger_logf_allLevel (line 180) | func TestLogger_logf_allLevel(t *testing.T) { function TestLogger_write_error (line 191) | func TestLogger_write_error(t *testing.T) { function TestLogger_AddWithCtx (line 203) | func TestLogger_AddWithCtx(t *testing.T) { function TestLogger_GlobalFields (line 250) | func TestLogger_GlobalFields(t *testing.T) { function TestLogger_option_BackupArgs (line 266) | func TestLogger_option_BackupArgs(t *testing.T) { function TestLogger_FlushTimeout (line 301) | func TestLogger_FlushTimeout(t *testing.T) { function TestLogger_rewrite_record (line 321) | func TestLogger_rewrite_record(t *testing.T) { function TestLogger_Sub (line 356) | func TestLogger_Sub(t *testing.T) { FILE: logger_write.go method Init (line 25) | func (r *Record) Init(lowerLevelName bool) { method beforeHandle (line 44) | func (r *Record) beforeHandle(l *Logger) { method writeRecord (line 60) | func (l *Logger) writeRecord(level Level, r *Record) { FILE: processor.go type Processor (line 17) | type Processor interface type ProcessorFunc (line 23) | type ProcessorFunc method Process (line 26) | func (fn ProcessorFunc) Process(record *Record) { type ProcessableHandler (line 31) | type ProcessableHandler interface type Processable (line 39) | type Processable struct method AddProcessor (line 44) | func (p *Processable) AddProcessor(processor Processor) { method ProcessRecord (line 49) | func (p *Processable) ProcessRecord(r *Record) { function AddHostname (line 61) | func AddHostname() Processor { function AddUniqueID (line 69) | func AddUniqueID(fieldName string) Processor { function AppendCtxKeys (line 90) | func AppendCtxKeys(keys ...string) Processor { function CtxKeysProcessor (line 106) | func CtxKeysProcessor(dist string, keys ...string) Processor { FILE: processor_test.go function TestLogger_AddProcessor (line 14) | func TestLogger_AddProcessor(t *testing.T) { function TestCtxKeysProcessor (line 65) | func TestCtxKeysProcessor(t *testing.T) { function TestProcessable_AddProcessor (line 79) | func TestProcessable_AddProcessor(t *testing.T) { FILE: record.go type Record (line 14) | type Record struct method Reused (line 85) | func (r *Record) Reused() *Record { method Release (line 91) | func (r *Record) Release() { method WithTime (line 105) | func (r *Record) WithTime(t time.Time) *Record { method WithCtx (line 112) | func (r *Record) WithCtx(ctx context.Context) *Record { return r.WithC... method WithContext (line 115) | func (r *Record) WithContext(ctx context.Context) *Record { method WithError (line 122) | func (r *Record) WithError(err error) *Record { method WithData (line 127) | func (r *Record) WithData(data M) *Record { method WithField (line 136) | func (r *Record) WithField(name string, val any) *Record { method WithFields (line 143) | func (r *Record) WithFields(fields M) *Record { method Copy (line 156) | func (r *Record) Copy() *Record { method SetCtx (line 195) | func (r *Record) SetCtx(ctx context.Context) *Record { return r.SetCon... method SetContext (line 198) | func (r *Record) SetContext(ctx context.Context) *Record { method SetData (line 204) | func (r *Record) SetData(data M) *Record { method AddData (line 210) | func (r *Record) AddData(data M) *Record { method WithValue (line 223) | func (r *Record) WithValue(key string, value any) *Record { method AddValue (line 228) | func (r *Record) AddValue(key string, value any) *Record { method Value (line 238) | func (r *Record) Value(key string) any { method SetExtra (line 246) | func (r *Record) SetExtra(data M) *Record { method AddExtra (line 252) | func (r *Record) AddExtra(data M) *Record { method SetExtraValue (line 265) | func (r *Record) SetExtraValue(k string, v any) { method SetTime (line 273) | func (r *Record) SetTime(t time.Time) *Record { method AddField (line 279) | func (r *Record) AddField(name string, val any) *Record { method AddFields (line 289) | func (r *Record) AddFields(fields M) *Record { method SetFields (line 302) | func (r *Record) SetFields(fields M) *Record { method Field (line 308) | func (r *Record) Field(key string) any { method log (line 348) | func (r *Record) log(level Level, args []any) { method logf (line 361) | func (r *Record) logf(level Level, format string, args []any) { method Log (line 374) | func (r *Record) Log(level Level, args ...any) { r.log(level, args) } method Logf (line 377) | func (r *Record) Logf(level Level, format string, args ...any) { method Info (line 382) | func (r *Record) Info(args ...any) { r.log(InfoLevel, args) } method Infof (line 385) | func (r *Record) Infof(format string, args ...any) { method Trace (line 390) | func (r *Record) Trace(args ...any) { r.log(TraceLevel, args) } method Tracef (line 393) | func (r *Record) Tracef(format string, args ...any) { method Error (line 398) | func (r *Record) Error(args ...any) { r.log(ErrorLevel, args) } method Errorf (line 401) | func (r *Record) Errorf(format string, args ...any) { method Warn (line 406) | func (r *Record) Warn(args ...any) { r.log(WarnLevel, args) } method Warnf (line 409) | func (r *Record) Warnf(format string, args ...any) { method Notice (line 414) | func (r *Record) Notice(args ...any) { r.log(NoticeLevel, args) } method Noticef (line 417) | func (r *Record) Noticef(format string, args ...any) { method Debug (line 422) | func (r *Record) Debug(args ...any) { r.log(DebugLevel, args) } method Debugf (line 425) | func (r *Record) Debugf(format string, args ...any) { method Print (line 430) | func (r *Record) Print(args ...any) { r.log(PrintLevel, args) } method Println (line 433) | func (r *Record) Println(args ...any) { r.log(PrintLevel, args) } method Printf (line 436) | func (r *Record) Printf(format string, args ...any) { method Fatal (line 441) | func (r *Record) Fatal(args ...any) { r.log(FatalLevel, args) } method Fatalln (line 444) | func (r *Record) Fatalln(args ...any) { r.log(FatalLevel, args) } method Fatalf (line 447) | func (r *Record) Fatalf(format string, args ...any) { method Panic (line 452) | func (r *Record) Panic(args ...any) { r.log(PanicLevel, args) } method Panicln (line 455) | func (r *Record) Panicln(args ...any) { r.log(PanicLevel, args) } method Panicf (line 458) | func (r *Record) Panicf(format string, args ...any) { method LevelName (line 467) | func (r *Record) LevelName() string { return r.levelName } method GoString (line 470) | func (r *Record) GoString() string { method timestamp (line 474) | func (r *Record) timestamp() string { function newRecord (line 69) | func newRecord(logger *Logger) *Record { FILE: record_test.go function TestRecord_AddData (line 19) | func TestRecord_AddData(t *testing.T) { function TestRecord_AddExtra (line 69) | func TestRecord_AddExtra(t *testing.T) { function TestRecord_SetContext (line 97) | func TestRecord_SetContext(t *testing.T) { function TestRecord_WithError (line 117) | func TestRecord_WithError(t *testing.T) { function TestRecord_WithTime (line 136) | func TestRecord_WithTime(t *testing.T) { function TestRecord_AddFields (line 149) | func TestRecord_AddFields(t *testing.T) { function TestRecord_WithFields (line 169) | func TestRecord_WithFields(t *testing.T) { function TestRecord_SetFields (line 185) | func TestRecord_SetFields(t *testing.T) { function TestRecord_allLevel (line 194) | func TestRecord_allLevel(t *testing.T) { function TestRecord_useMultiTimes (line 228) | func TestRecord_useMultiTimes(t *testing.T) { FILE: rotatefile/cleanup.go constant defaultCheckInterval (line 12) | defaultCheckInterval = 60 * time.Second type CConfig (line 15) | type CConfig struct method AddDirPath (line 57) | func (c *CConfig) AddDirPath(dirPaths ...string) *CConfig { method AddPattern (line 68) | func (c *CConfig) AddPattern(patterns ...string) *CConfig { method WithConfigFn (line 74) | func (c *CConfig) WithConfigFn(fns ...CConfigFunc) *CConfig { type CConfigFunc (line 54) | type CConfigFunc function NewCConfig (line 84) | func NewCConfig() *CConfig { type FilesClear (line 98) | type FilesClear struct method Config (line 116) | func (r *FilesClear) Config() *CConfig { method WithConfig (line 121) | func (r *FilesClear) WithConfig(cfg *CConfig) *FilesClear { method WithConfigFn (line 127) | func (r *FilesClear) WithConfigFn(fns ...CConfigFunc) *FilesClear { method StopDaemon (line 139) | func (r *FilesClear) StopDaemon() { method DaemonClean (line 167) | func (r *FilesClear) DaemonClean(onStop func()) { method prepare (line 190) | func (r *FilesClear) prepare() { method Clean (line 203) | func (r *FilesClear) Clean() error { method cleanByPattern (line 218) | func (r *FilesClear) cleanByPattern(filePattern string) (err error) { method remove (line 268) | func (r *FilesClear) remove(filePath string) (err error) { function NewFilesClear (line 110) | func NewFilesClear(fns ...CConfigFunc) *FilesClear { FILE: rotatefile/cleanup_test.go function TestFilesClear_Clean (line 18) | func TestFilesClear_Clean(t *testing.T) { function TestFilesClear_DaemonClean (line 56) | func TestFilesClear_DaemonClean(t *testing.T) { function makeWaitCleanFiles (line 111) | func makeWaitCleanFiles(nameTpl string, makeNum int) { FILE: rotatefile/config.go type rotateLevel (line 17) | type rotateLevel constant levelDay (line 20) | levelDay rotateLevel = iota constant levelHour (line 21) | levelHour constant levelMin (line 22) | levelMin constant levelSec (line 23) | levelSec type RotateTime (line 35) | type RotateTime method Interval (line 49) | func (rt RotateTime) Interval() int64 { method FirstCheckTime (line 55) | func (rt RotateTime) FirstCheckTime(now time.Time) time.Time { method level (line 83) | func (rt RotateTime) level() rotateLevel { method TimeFormat (line 105) | func (rt RotateTime) TimeFormat() (suffixFormat string) { method MarshalJSON (line 121) | func (rt RotateTime) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 126) | func (rt *RotateTime) UnmarshalJSON(data []byte) error { method String (line 137) | func (rt RotateTime) String() string { constant EveryMonth (line 39) | EveryMonth RotateTime = 30 * timex.OneDaySec constant EveryDay (line 40) | EveryDay RotateTime = timex.OneDaySec constant EveryHour (line 41) | EveryHour RotateTime = timex.OneHourSec constant Every30Min (line 42) | Every30Min RotateTime = 30 * timex.OneMinSec constant Every15Min (line 43) | Every15Min RotateTime = 15 * timex.OneMinSec constant EveryMinute (line 44) | EveryMinute RotateTime = timex.OneMinSec constant EverySecond (line 45) | EverySecond RotateTime = 1 function StringToRotateTime (line 151) | func StringToRotateTime(s string) (RotateTime, error) { type RotateMode (line 174) | type RotateMode method String (line 193) | func (m RotateMode) String() string { method MarshalJSON (line 205) | func (m RotateMode) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 210) | func (m *RotateMode) UnmarshalJSON(data []byte) error { constant ModeRename (line 183) | ModeRename RotateMode = iota constant ModeCreate (line 189) | ModeCreate function StringToRotateMode (line 221) | func StringToRotateMode(s string) (RotateMode, error) { type Clocker (line 244) | type Clocker interface type ClockFn (line 249) | type ClockFn method Now (line 252) | func (fn ClockFn) Now() time.Time { type ConfigFn (line 257) | type ConfigFn type Config (line 260) | type Config struct method backupDuration (line 323) | func (c *Config) backupDuration() time.Duration { method With (line 331) | func (c *Config) With(fns ...ConfigFn) *Config { method Create (line 339) | func (c *Config) Create() (*Writer, error) { return NewWriter(c) } method IsMode (line 342) | func (c *Config) IsMode(m RotateMode) bool { return c.RotateMode == m } function NewDefaultConfig (line 357) | func NewDefaultConfig() *Config { function NewConfig (line 370) | func NewConfig(filePath string, fns ...ConfigFn) *Config { function NewConfigWith (line 378) | func NewConfigWith(fns ...ConfigFn) *Config { function EmptyConfigWith (line 383) | func EmptyConfigWith(fns ...ConfigFn) *Config { function WithFilepath (line 394) | func WithFilepath(logfile string) ConfigFn { function WithDebugMode (line 399) | func WithDebugMode(c *Config) { c.DebugMode = true } function WithCompress (line 402) | func WithCompress(c *Config) { c.Compress = true } function WithBackupNum (line 405) | func WithBackupNum(num uint) ConfigFn { FILE: rotatefile/config_test.go function TestNewDefaultConfig (line 15) | func TestNewDefaultConfig(t *testing.T) { function TestNewConfig (line 23) | func TestNewConfig(t *testing.T) { function TestRotateMode_cases (line 54) | func TestRotateMode_cases(t *testing.T) { function TestRotateTime_encode (line 93) | func TestRotateTime_encode(t *testing.T) { function TestRotateTime_TimeFormat (line 113) | func TestRotateTime_TimeFormat(t *testing.T) { function TestRotateTime_String (line 135) | func TestRotateTime_String(t *testing.T) { function TestRotateTime_FirstCheckTime_Round (line 148) | func TestRotateTime_FirstCheckTime_Round(t *testing.T) { FILE: rotatefile/issues_test.go function TestIssues_138 (line 16) | func TestIssues_138(t *testing.T) { function TestIssues_150 (line 56) | func TestIssues_150(t *testing.T) { FILE: rotatefile/rotatefile.go type RotateWriter (line 9) | type RotateWriter interface constant OneMByte (line 19) | OneMByte uint64 = 1024 * 1024 constant DefaultMaxSize (line 22) | DefaultMaxSize = 20 * OneMByte constant DefaultBackNum (line 24) | DefaultBackNum uint = 20 constant DefaultBackTime (line 26) | DefaultBackTime uint = 24 * 7 FILE: rotatefile/rotatefile_test.go function TestMain (line 13) | func TestMain(m *testing.M) { function ExampleNewWriter_on_other_logger (line 19) | func ExampleNewWriter_on_other_logger() { FILE: rotatefile/util.go constant compressSuffix (line 16) | compressSuffix = ".gz" function printErrln (line 18) | func printErrln(pfx string, err error) { function compressFile (line 24) | func compressFile(srcPath, dstPath string) error { type fileInfo (line 56) | type fileInfo struct method Path (line 62) | func (fi *fileInfo) Path() string { function newFileInfo (line 66) | func newFileInfo(filePath string, fi fs.FileInfo) fileInfo { type modTimeFInfos (line 72) | type modTimeFInfos method Less (line 75) | func (fis modTimeFInfos) Less(i, j int) bool { method Swap (line 80) | func (fis modTimeFInfos) Swap(i, j int) { method Len (line 85) | func (fis modTimeFInfos) Len() int { type MockClocker (line 90) | type MockClocker struct method Now (line 101) | func (mt *MockClocker) Now() time.Time { method Add (line 106) | func (mt *MockClocker) Add(d time.Duration) { method Datetime (line 111) | func (mt *MockClocker) Datetime() string { function NewMockClock (line 95) | func NewMockClock(datetime string) *MockClocker { FILE: rotatefile/util_test.go function TestPrintErrln (line 8) | func TestPrintErrln(t *testing.T) { FILE: rotatefile/writer.go type Writer (line 24) | type Writer struct method init (line 74) | func (d *Writer) init() error { method Config (line 108) | func (d *Writer) Config() Config { method Flush (line 113) | func (d *Writer) Flush() error { method Sync (line 118) | func (d *Writer) Sync() error { method Close (line 124) | func (d *Writer) Close() error { method MustClose (line 134) | func (d *Writer) MustClose() { method close (line 138) | func (d *Writer) close(closeStopCh bool) error { method WriteString (line 159) | func (d *Writer) WriteString(s string) (n int, err error) { method Write (line 164) | func (d *Writer) Write(p []byte) (n int, err error) { method doWrite (line 179) | func (d *Writer) doWrite(p []byte) (n int, err error) { method Rotate (line 195) | func (d *Writer) Rotate() error { method doRotate (line 206) | func (d *Writer) doRotate() (err error) { method rotatingByTime (line 229) | func (d *Writer) rotatingByTime() error { method rotatingBySize (line 246) | func (d *Writer) rotatingBySize() error { method rotatingFile (line 274) | func (d *Writer) rotatingFile(bakFile string, rename bool) error { method shouldClean (line 313) | func (d *Writer) shouldClean(withRand bool) bool { method asyncClean (line 324) | func (d *Writer) asyncClean() { method notifyClean (line 369) | func (d *Writer) notifyClean() { method Clean (line 379) | func (d *Writer) Clean() (err error) { method doClean (line 391) | func (d *Writer) doClean(skipSeconds ...int) (err error) { method removeOldGzFiles (line 456) | func (d *Writer) removeOldGzFiles(remNum int, gzFiles []fileInfo) (rn ... method removeOldFiles (line 480) | func (d *Writer) removeOldFiles(remNum int, oldFiles []fileInfo) (file... method openFile (line 514) | func (d *Writer) openFile(logfile string) error { method buildFilePath (line 526) | func (d *Writer) buildFilePath(suffix string) string { method buildFilterFns (line 531) | func (d *Writer) buildFilterFns(fileName string) []fsutil.FilterFunc { method compressFiles (line 570) | func (d *Writer) compressFiles(oldFiles []fileInfo) error { method debugLog (line 587) | func (d *Writer) debugLog(vs ...any) { function NewWriter (line 59) | func NewWriter(c *Config) (*Writer, error) { function NewWriterWith (line 69) | func NewWriterWith(fns ...ConfigFn) (*Writer, error) { FILE: rotatefile/writer_test.go function TestNewWriter (line 16) | func TestNewWriter(t *testing.T) { function TestWriter_Rotate_modeCreate (line 40) | func TestWriter_Rotate_modeCreate(t *testing.T) { function TestWriter_rotateByTime (line 70) | func TestWriter_rotateByTime(t *testing.T) { function TestWriter_Clean (line 96) | func TestWriter_Clean(t *testing.T) { function TestWriter_Compress (line 140) | func TestWriter_Compress(t *testing.T) { type constantClock (line 185) | type constantClock method Now (line 187) | func (c constantClock) Now() time.Time { return time.Time(c) } method NewTicker (line 188) | func (c constantClock) NewTicker(d time.Duration) *time.Ticker { FILE: slog.go function Std (line 45) | func Std() *SugaredLogger { return std } function Reset (line 48) | func Reset() { function Configure (line 55) | func Configure(fn func(l *SugaredLogger)) { std.Config(fn) } function SetExitFunc (line 58) | func SetExitFunc(fn func(code int)) { std.ExitFunc = fn } function Exit (line 61) | func Exit(code int) { std.Exit(code) } function Close (line 66) | func Close() error { return std.Close() } function MustClose (line 71) | func MustClose() { goutil.PanicErr(Close()) } function Flush (line 74) | func Flush() error { return std.Flush() } function MustFlush (line 77) | func MustFlush() { goutil.PanicErr(Flush()) } function FlushTimeout (line 80) | func FlushTimeout(timeout time.Duration) { std.FlushTimeout(timeout) } function FlushDaemon (line 85) | func FlushDaemon(onStops ...func()) { std.FlushDaemon(onStops...) } function StopDaemon (line 88) | func StopDaemon() { std.StopDaemon() } function SetLogLevel (line 91) | func SetLogLevel(l Level) { std.Level = l } function SetLevelByName (line 94) | func SetLevelByName(name string) { std.Level = LevelByName(name) } function SetFormatter (line 97) | func SetFormatter(f Formatter) { std.Formatter = f } function GetFormatter (line 100) | func GetFormatter() Formatter { return std.Formatter } function AddHandler (line 103) | func AddHandler(h Handler) { std.AddHandler(h) } function PushHandler (line 106) | func PushHandler(h Handler) { std.AddHandler(h) } function AddHandlers (line 109) | func AddHandlers(hs ...Handler) { std.AddHandlers(hs...) } function PushHandlers (line 112) | func PushHandlers(hs ...Handler) { std.PushHandlers(hs...) } function AddProcessor (line 115) | func AddProcessor(p Processor) { std.AddProcessor(p) } function AddProcessors (line 118) | func AddProcessors(ps ...Processor) { std.AddProcessors(ps...) } function NewSub (line 123) | func NewSub() *SubLogger { return NewSubWith(std.Logger) } function WithExtra (line 128) | func WithExtra(ext M) *Record { return std.WithExtra(ext) } function WithData (line 131) | func WithData(data M) *Record { return std.WithData(data) } function WithValue (line 134) | func WithValue(key string, value any) *Record { return std.WithValue(key... function WithField (line 139) | func WithField(name string, value any) *Record { return std.WithField(na... function WithFields (line 144) | func WithFields(fields M) *Record { return std.WithFields(fields) } function WithContext (line 147) | func WithContext(ctx context.Context) *Record { return std.WithContext(c... function Log (line 153) | func Log(level Level, args ...any) { std.log(level, args) } function Print (line 156) | func Print(args ...any) { std.log(PrintLevel, args) } function Println (line 159) | func Println(args ...any) { std.log(PrintLevel, args) } function Printf (line 162) | func Printf(format string, args ...any) { std.logf(PrintLevel, format, a... function Trace (line 165) | func Trace(args ...any) { std.log(TraceLevel, args) } function Tracef (line 168) | func Tracef(format string, args ...any) { std.logf(TraceLevel, format, a... function TraceCtx (line 171) | func TraceCtx(ctx context.Context, args ...any) { std.logCtx(ctx, TraceL... function TracefCtx (line 174) | func TracefCtx(ctx context.Context, format string, args ...any) { function Debug (line 179) | func Debug(args ...any) { std.log(DebugLevel, args) } function Debugf (line 182) | func Debugf(format string, args ...any) { std.logf(DebugLevel, format, a... function DebugCtx (line 185) | func DebugCtx(ctx context.Context, args ...any) { std.logCtx(ctx, DebugL... function DebugfCtx (line 188) | func DebugfCtx(ctx context.Context, format string, args ...any) { function Info (line 193) | func Info(args ...any) { std.log(InfoLevel, args) } function Infof (line 196) | func Infof(format string, args ...any) { std.logf(InfoLevel, format, arg... function InfoCtx (line 199) | func InfoCtx(ctx context.Context, args ...any) { std.logCtx(ctx, InfoLev... function InfofCtx (line 202) | func InfofCtx(ctx context.Context, format string, args ...any) { function Notice (line 207) | func Notice(args ...any) { std.log(NoticeLevel, args) } function Noticef (line 210) | func Noticef(format string, args ...any) { std.logf(NoticeLevel, format,... function NoticeCtx (line 213) | func NoticeCtx(ctx context.Context, args ...any) { std.logCtx(ctx, Notic... function NoticefCtx (line 216) | func NoticefCtx(ctx context.Context, format string, args ...any) { function Warn (line 221) | func Warn(args ...any) { std.log(WarnLevel, args) } function Warnf (line 224) | func Warnf(format string, args ...any) { std.logf(WarnLevel, format, arg... function WarnCtx (line 227) | func WarnCtx(ctx context.Context, args ...any) { std.logCtx(ctx, WarnLev... function WarnfCtx (line 230) | func WarnfCtx(ctx context.Context, format string, args ...any) { function Error (line 235) | func Error(args ...any) { std.log(ErrorLevel, args) } function Errorf (line 238) | func Errorf(format string, args ...any) { std.logf(ErrorLevel, format, a... function ErrorT (line 241) | func ErrorT(err error) { function ErrorCtx (line 248) | func ErrorCtx(ctx context.Context, args ...any) { std.logCtx(ctx, ErrorL... function ErrorfCtx (line 251) | func ErrorfCtx(ctx context.Context, format string, args ...any) { function Fatal (line 262) | func Fatal(args ...any) { std.log(FatalLevel, args) } function Fatalf (line 265) | func Fatalf(format string, args ...any) { std.logf(FatalLevel, format, a... function FatalErr (line 268) | func FatalErr(err error) { function FatalCtx (line 275) | func FatalCtx(ctx context.Context, args ...any) { std.logCtx(ctx, FatalL... function FatalfCtx (line 278) | func FatalfCtx(ctx context.Context, format string, args ...any) { function Panic (line 283) | func Panic(args ...any) { std.log(PanicLevel, args) } function Panicf (line 286) | func Panicf(format string, args ...any) { std.logf(PanicLevel, format, a... function PanicErr (line 289) | func PanicErr(err error) { function PanicCtx (line 296) | func PanicCtx(ctx context.Context, args ...any) { std.logCtx(ctx, PanicL... function PanicfCtx (line 299) | func PanicfCtx(ctx context.Context, format string, args ...any) { FILE: slog_test.go function TestStd (line 26) | func TestStd(t *testing.T) { function TestTextFormatNoColor (line 52) | func TestTextFormatNoColor(t *testing.T) { function TestFlushDaemon (line 68) | func TestFlushDaemon(t *testing.T) { function TestFlushTimeout (line 101) | func TestFlushTimeout(t *testing.T) { function TestNewSugaredLogger (line 109) | func TestNewSugaredLogger(t *testing.T) { type logTest (line 130) | type logTest struct method testPrint (line 134) | func (l logTest) testPrint() { function TestTextFormatWithColor (line 138) | func TestTextFormatWithColor(t *testing.T) { function printLogs (line 168) | func printLogs(msg string) { function printfLogs (line 186) | func printfLogs(msg string, args ...any) { function TestSetFormatter_jsonFormat (line 198) | func TestSetFormatter_jsonFormat(t *testing.T) { function TestAddHandler (line 266) | func TestAddHandler(t *testing.T) { function TestWithExtra (line 283) | func TestWithExtra(t *testing.T) { function TestAddProcessor (line 301) | func TestAddProcessor(t *testing.T) { function TestPrependExitHandler (line 336) | func TestPrependExitHandler(t *testing.T) { function TestRegisterExitHandler (line 357) | func TestRegisterExitHandler(t *testing.T) { function TestExitHandlerWithError (line 382) | func TestExitHandlerWithError(t *testing.T) { function TestLogger_ExitHandlerWithError (line 398) | func TestLogger_ExitHandlerWithError(t *testing.T) { function TestLogger_PrependExitHandler (line 415) | func TestLogger_PrependExitHandler(t *testing.T) { function TestSugaredLogger_Close (line 432) | func TestSugaredLogger_Close(t *testing.T) { function TestSugaredLogger_Handle (line 447) | func TestSugaredLogger_Handle(t *testing.T) { function TestAddWithCtx (line 461) | func TestAddWithCtx(t *testing.T) { FILE: sugared.go type SugaredLoggerFn (line 11) | type SugaredLoggerFn type SugaredLogger (line 15) | type SugaredLogger struct method Config (line 79) | func (sl *SugaredLogger) Config(fns ...SugaredLoggerFn) *SugaredLogger { method Reset (line 87) | func (sl *SugaredLogger) Reset() { method IsHandling (line 94) | func (sl *SugaredLogger) IsHandling(level Level) bool { method Handle (line 99) | func (sl *SugaredLogger) Handle(record *Record) error { method Close (line 114) | func (sl *SugaredLogger) Close() error { method Flush (line 129) | func (sl *SugaredLogger) Flush() error { return sl.FlushAll() } method FlushAll (line 132) | func (sl *SugaredLogger) FlushAll() error { function NewStd (line 28) | func NewStd(fns ...SugaredLoggerFn) *SugaredLogger { function NewStdLogger (line 33) | func NewStdLogger(fns ...SugaredLoggerFn) *SugaredLogger { function NewSugared (line 51) | func NewSugared(out io.Writer, level Level, fns ...SugaredLoggerFn) *Sug... function NewSugaredLogger (line 56) | func NewSugaredLogger(output io.Writer, level Level, fns ...SugaredLogge... function NewJSONSugared (line 71) | func NewJSONSugared(out io.Writer, level Level, fns ...SugaredLoggerFn) ... FILE: util.go function FormatLevelName (line 28) | func FormatLevelName(name string, length int) string { function buildLowerLevelName (line 35) | func buildLowerLevelName() map[Level]string { function getCaller (line 44) | func getCaller(callerSkip int) (fr runtime.Frame, ok bool) { function formatCaller (line 54) | func formatCaller(rf *runtime.Frame, flag uint8, userFn CallerFormatFn) ... function formatArgsWithSpaces (line 91) | func formatArgsWithSpaces(vs []any) string { function EncodeToString (line 124) | func EncodeToString(v any) string { function mapToString (line 131) | func mapToString(mp map[string]any) string { function parseTemplateToFields (line 155) | func parseTemplateToFields(tplStr string) []string { function printStderr (line 175) | func printStderr(args ...any) { FILE: util_test.go function revertTemplateString (line 12) | func revertTemplateString(ss []string) string { function TestInner_parseTemplateToFields (line 29) | func TestInner_parseTemplateToFields(t *testing.T) { function TestUtil_EncodeToString (line 47) | func TestUtil_EncodeToString(t *testing.T) { function TestUtil_formatArgsWithSpaces (line 51) | func TestUtil_formatArgsWithSpaces(t *testing.T) {