Categorygithub.com/pyihe/plogs
modulepackage
1.0.1
Repository: https://github.com/pyihe/plogs.git
Documentation: pkg.go.dev

# README

Feature

  • 格式化日志输出
  • 异步输出日志到文件(终端采用同步输出)
  • 可通过WithWriter()添加自定义Writer
  • temp.log总是当前正在输出的日志文件
  • 日志输出级别可配置(默认输出所有级别的日志)
  • 日志文件切割方式: 达到指定大小后执行切割, 默认不切割
  • 提供日志文件保存时长设置: 超过该时长的文件将被删除, 默认不作删除操作
  • 日志级别划分: Panic(异常, 可以捕获), Fatal(致命错误), Error(错误), Warn(警告), Info(流水), Debug(调试信息)
  • 提供不同的日志记录方式: WriteByLevelSeparated(根据Level记录在不同的子目录下), WriteByLevelMerged(所有Level的日志记录在一起), WriteByBoth(单独记录与归并记录同时存在)

Usage

package main

import (
	"fmt"
	"time"

	"github.com/pyihe/go-pkg/tools"
	"github.com/pyihe/plogs"
)

func main() {
	opts := []plogs.Option{
		plogs.WithName("ALTIMA"),
		plogs.WithFileOption(plogs.WriteByLevelMerged),
		plogs.WithLogPath("./logs"),
		plogs.WithLogLevel(plogs.LevelFatal | plogs.LevelError | plogs.LevelWarn | plogs.LevelInfo | plogs.LevelDebug),
		plogs.WithStdout(true),
		plogs.WithMaxAge(24 * time.Hour),
		plogs.WithMaxSize(10 * 1024 * 1024),
	}

	logger := plogs.NewLogger(opts...)
	defer logger.Close()

	go func() {
		tag := time.Now()
		for n := 0; n < 3; n++ {
			for i := 1; i < 500000; i++ {
				plogs.Debugf("hello, this is level panic!")
				plogs.Infof("hello, this is level panic!")
				plogs.Warnf("hello, this is level panic!")
				plogs.Errorf("hello, this is level panic!")
			}
		}
		fmt.Printf("time consume: %v\n", time.Now().Sub(tag).Milliseconds())
	}()

	tools.Wait()
}

Terminal Screenshot

File Screenshot

Thanks

感谢Jetbrains开源开发许可证 提供的免费开发工具支持!

# Packages

No description provided by the author
No description provided by the author

# Functions

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
WithFileOption 设置写文件选项.
WithLogLevel 日志记录级别: [ LevelFatal | LevelFatal | LevelError | LevelWarn | LevelInfo | LevelDebug ].
WithLogPath 设置日志文件存放目录(如果区分级别存放日志,将会在filepath下创建对应级别的目录用于区分).
WithMaxAge 设置日志文件保存最长时间.
WithMaxSize 设置日志文件保存上限.
WithName 设置app名称.
WithStdout 设置是否同步输出到标准输出.
WithWriter 添加自定义Writer.

# Constants

调试.
错误.
致命错误, 程序会退出.
追踪.
panic.
警告.
既区分级别记录也一起记录.
不区分级别, 所有日志记录在一个文件中.
区分级别, 不同级别记录在不同目录下相应的文件中.

# Structs

LogConfig 配置项.
No description provided by the author

# Type aliases

No description provided by the author
No description provided by the author
No description provided by the author