8000 GitHub - 0x676e67/vlog: Golang log library Encapsulation
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

0x676e67/vlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub release

Chinese | English

vlog

vlog使用Golang原生日志库封装和实现io.Writer支持每天滚动压缩日志文件

概述

  • 基于实现 io.Writer。您可以轻松地在 golang log、GORM、grpclog 等中使用。
  • 支持每日滚动日志,可以指定日志文件名的前缀,默认为进程名
  • 旧文件压缩为gz格式

入门

示例

要使用 vlog,您可以:

go get -u github.com/gngpp/vlog

并像这样导入:

package main

import (
	"github.com/gngpp/vlog"
	"github.com/gngpp/vlog/timewriter"
)

func main() {
	timeWriter := &timewriter.TimeWriter{
		Dir:           "./logs",
		Compress:      true,
		ReserveDay:    30,
		LogFilePrefix: "vlog",
	}
	log := vlog.New(timeWriter)
	log.Info("hello vlog")
}

如果需要全局设置输出:

package main

import (
	"github.com/gngpp/vlog"
	"github.com/gngpp/vlog/timewriter"
	"io"
	"os"
)

func main() {
	timeWriter := &timewriter.TimeWriter{
		Dir:           "./logs",
		Compress:      true,
		ReserveDay:    30,
		LogFilePrefix: "vlog",
	}
	w := io.MultiWriter(os.Stdout, timeWriter)
	// global settings
	vlog.SetOutput(w)
	logger := vlog.Default()
	logger.Info("hello vlog")
}

如果需要全局设置输出并同步到默认日志库:

package main

import (
	"github.com/gngpp/vlog"
	"github.com/gngpp/vlog/timewriter"
	"io"
	"log"
	"os"
)

func main() {
	timeWriter := &timewriter.TimeWriter{
		Dir:           "./logs",
		Compress:      true,
		ReserveDay:    30,
		LogFilePrefix: "vlog",
	}
	w := io.MultiWriter(os.Stdout, timeWriter)
	// global settings
	vlog.SetSyncOutput(true)
	vlog.SetOutput(w)
	logger := vlog.Default()
	logger.Info("hello vlog")
	log.Println("hello vlog")
}

参考

About

Golang log library Encapsulation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

0