logger

package module
v2.3.2 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2020 License: MIT Imports: 14 Imported by: 0

README

logger

Packaging the go.uber.org/zap Logger

使用说明

必须首先使用 InitLoggerWithConfig or InitLoggerWithLevel or InitLogger 初始化logger模块

logger.LoggerByDay 按日分割log打印

logger.GetLogger(name string) 生成or获取一个name命名的logger

Documentation

Overview

Package logger 封装的go.uber.org/zap包 方便日志管理和使用

Index

Constants

This section is empty.

Variables

View Source
var (
	// Empty empty logger.
	Empty = &emptyLogger{}
)
View Source
var (

	// LoggerByDay 按照天来划分的logger.
	LoggerByDay *zap.SugaredLogger
)

Functions

func FlushAndCloseLogger

func FlushAndCloseLogger(name string) error

FlushAndCloseLogger flush and close logger.

func GetLogger

func GetLogger(name string) *zap.Logger

GetLogger to get logger.

func GetSugarLogger

func GetSugarLogger(name string) *zap.SugaredLogger

GetSugarLogger to get SugaredLogger.

func InitLogger

func InitLogger(path string, logLevel Level, location *time.Location) error

InitLogger 初始化. path 输出路径, 默认当前路径. logLevel 日志级别. location 日志文件名所属时区.

func InitLoggerWithConfig

func InitLoggerWithConfig(cfg LogConfig, location *time.Location) error

InitLoggerWithConfig 使用config初始化logger.

func InitLoggerWithLevel

func InitLoggerWithLevel(path string, logLevel LevelString, location *time.Location) error

InitLoggerWithLevel 使用String格式的level初始化logger. path 输出路径, 默认当前路径. logLevel 日志级别: debug,info,warn. location 日志文件名所属时区.

func ToEarlyMorningTimeDuration

func ToEarlyMorningTimeDuration(now time.Time) time.Duration

ToEarlyMorningTimeDuration will 计算当前到第二日凌晨的时间.

Types

type KafkaConfig

type KafkaConfig struct {
	ClientID      string   `toml:"client_id"`
	RackID        string   `toml:"rack_id"`
	BufferSize    int      `toml:"buf_size"`
	Address       []string `toml:"address"`
	Topic         string   `toml:"topic"`
	Version       string   `toml:"version"`
	FilterMessage []string `toml:"filter_messages"`
	Ack           int16    `toml:"ack"`
}

func (*KafkaConfig) Filter added in v2.3.0

func (kc *KafkaConfig) Filter(msg string) bool

此message是否输出到kafka

type KafkaLogger

type KafkaLogger struct {
	Producer sarama.AsyncProducer
	Topic    string
	// contains filtered or unexported fields
}

func (*KafkaLogger) Stop added in v2.2.0

func (lk *KafkaLogger) Stop()

func (*KafkaLogger) Write

func (lk *KafkaLogger) Write(p []byte) (n int, err error)

type Level

type Level int8

Level logger level.

const (
	// DebugLevel 输出debug、info、warn、error级别.
	// 开发中用.
	DebugLevel Level = iota - 1
	// InfoLevel 输出info、warn、error级别.
	InfoLevel
	// WarnLevel 输出warn、error级别.
	WarnLevel
	// ErrorLevel 输出error级别.
	ErrorLevel
)

type LevelString

type LevelString string

LevelString 字符串格式的Level.

const (
	// DebugStringLevel debug.
	DebugStringLevel LevelString = "debug"
	// InfoStringLevel info.
	InfoStringLevel LevelString = "info"
	// WarnStringLevel warn.
	WarnStringLevel LevelString = "warn"
	// ErrorStringLevel error.
	ErrorStringLevel LevelString = "error"
)

type LogConfig added in v2.0.1

type LogConfig struct {
	Path     string      `toml:"path"`
	Loglevel LevelString `toml:"level"`
	// MaxSize 单文件最大存储,单位MB
	MaxSize bytesize.Int64 `toml:"max_size_one_file"`
	// 是否开启kafka
	EnableKafka bool `toml:"enable_kafka"`
	// kafka配置文件
	KafkaConfig KafkaConfig `toml:"kafka"`
}

Config logger config.

type Logger

type Logger interface {
	Debugw(msg string, kv ...interface{})
	Infow(msg string, kv ...interface{})
	Warnw(msg string, kv ...interface{})
	Errorw(msg string, kv ...interface{})
	Panicw(msg string, kv ...interface{})
}

Logger Logger.

Jump to

Keyboard shortcuts

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