SimpleLog

package module
v0.0.0-...-00d0605 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2025 License: GPL-3.0 Imports: 7 Imported by: 1

README

SimpleLog

简单到有点简陋的日志库

安装

go get -u github.com/yourusername/SimpleLog

使用示例

package main

import (
    slog "github.com/yourusername/SimpleLog"
    "os"
)

func main() {
    logger := slog.New("[module1]", true, true)
    logger.SetLevel(slog.DebugLevel)
    logger.Info("...")

    logger2 := slog.New("[module2]", true, true)
    // debug level too
    logger2.Infof("...")
}

功能

  • 所有日志实例共享相同的 leveloutput, 统一控制
  • 除此之外 banner, color, escapeNewline 可单独设置
  • 日志级别:Trace, Debug, Info, Warn, Error, Fatal, Panic
  • 较短的日期格式化, 彩色日志级别标题
  • 日志换行符转义

接口

New

创建一个新的日志实例

func New(banner string, color, escapeNewline bool) *Logger
SetOutput

设置日志输出

func (l *Logger) SetOutput(w io.Writer) *Logger
func (l *Logger) AddOutput(w io.Writer) *Logger
SetLevel

设置日志级别

func (l *Logger) SetLevel(level Level) *Logger
SetBanner

设置日志前缀

func (l *Logger) SetBanner(banner string) *Logger
SetEscapeNewline

设置是否转义换行符

func (l *Logger) SetEscapeNewline(escape bool) *Logger
日志方法
  • Trace(a ...any)
  • Debug(a ...any)
  • Info(a ...any)
  • Warn(a ...any)
  • Error(a ...any)
  • Fatal(a ...any)
  • Panic(a ...any)
  • FakePanic(a ...any)

每个方法都有对应的格式化版本,如 Tracef(format string, a ...any)

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	LevelBannerN = map[Level]string{
		TraceLevel: "[TRACE]",
		DebugLevel: "[DEBUG]",
		InfoLevel:  " [INFO]",
		WarnLevel:  " [WARN]",
		ErrorLevel: "[ERROR]",
		FatalLevel: "[FATAL]",
		PanicLevel: "[PANIC]",
	}
	LevelBannerC = map[Level]string{
		TraceLevel: "\x1b[94m[TRACE]\x1b[m",
		DebugLevel: "\x1b[92m[DEBUG]\x1b[m",
		InfoLevel:  "\x1b[97m [INFO]\x1b[m",
		WarnLevel:  "\x1b[93m [WARN]\x1b[m",
		ErrorLevel: "\x1b[91m[ERROR]\x1b[m",
		FatalLevel: "\x1b[91;5m[FATAL]\x1b[m",
		PanicLevel: "\x1b[91;5;7m[PANIC]\x1b[m",
	}
)

Functions

This section is empty.

Types

type Level

type Level int
const (
	TraceLevel Level = iota
	DebugLevel
	InfoLevel
	WarnLevel
	ErrorLevel
	FatalLevel
	PanicLevel
)

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

外部接口, 自定义某些选项

func New

func New(banner string, color, escapeNewline bool) *Logger

func (*Logger) AddOutput

func (l *Logger) AddOutput(w io.Writer) *Logger

func (*Logger) Debug

func (l *Logger) Debug(a ...any)

func (*Logger) Debugf

func (l *Logger) Debugf(format string, a ...any)

func (*Logger) Error

func (l *Logger) Error(a ...any)

func (*Logger) Errorf

func (l *Logger) Errorf(format string, a ...any)

func (*Logger) FakePanic

func (l *Logger) FakePanic(a ...any)

FakePanic only print stack

func (*Logger) FakePanicf

func (l *Logger) FakePanicf(format string, a ...any)

FakePanic only print stack

func (*Logger) Fatal

func (l *Logger) Fatal(a ...any)

func (*Logger) Fatalf

func (l *Logger) Fatalf(format string, a ...any)

func (*Logger) Format

func (l *Logger) Format(level Level, s string) string

func (*Logger) Info

func (l *Logger) Info(a ...any)

func (*Logger) Infof

func (l *Logger) Infof(format string, a ...any)

func (*Logger) Output

func (l *Logger) Output(s string)

func (*Logger) Panic

func (l *Logger) Panic(a ...any)

func (*Logger) Panicf

func (l *Logger) Panicf(format string, a ...any)

func (*Logger) Print

func (l *Logger) Print(level Level, a ...any)

func (*Logger) Printf

func (l *Logger) Printf(level Level, format string, a ...any)

func (*Logger) SetBanner

func (l *Logger) SetBanner(banner string) *Logger

func (*Logger) SetEscapeNewline

func (l *Logger) SetEscapeNewline(escape bool) *Logger

func (*Logger) SetLevel

func (l *Logger) SetLevel(level Level) *Logger

func (*Logger) SetOutput

func (l *Logger) SetOutput(w io.Writer) *Logger

func (*Logger) Trace

func (l *Logger) Trace(a ...any)

func (*Logger) Tracef

func (l *Logger) Tracef(format string, a ...any)

func (*Logger) Warn

func (l *Logger) Warn(a ...any)

func (*Logger) Warnf

func (l *Logger) Warnf(format string, a ...any)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL