l4g

package module
v0.0.0-...-0e84916 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2017 License: GPL-2.0 Imports: 11 Imported by: 0

README

l4g

GO高级日志工具

使用方法:

非格式化日志记录:Log("test.log"(日志文件名), "DEBUG"(日志等级), "log test:", err(...interface{}))
格式化日志记录:Logf("test.log"(日志文件名), "ERROR"(日志等级), "%s %v",str, err(...interface{}))
关闭所有已经打开日志记录文件:LogClose()

功能简介:

默认保管一个月的日志
邮箱配置、日志文件大小上限,参照l4gconf.ini
当日志大小达到上限时,会先将io指针指向文件开头,然后截去超出上限部分的内容,接着会关闭该日志文件,最后将日志作为邮件附件发送给指定邮箱
设置io指针是为了防止在截去多余部分之后,文件关闭之前,会有新内容插入,使得文件大小又超出上限,但由于文件已关闭,所以无法再次截去多余内容,会导致日志工具不停的发送邮件
l4gconf.ini请放在程序根目录中

注:.ini文件因保存不当容易出现空读现象,所以本工具默认会在进程启动时在控制台上打印从.ini文件中读取到的信息,请注意检查

2017.10.28更新内容:

允许抄送多个收件人(邮件群发)
将出现异常的日志文件作为邮件附件发送给收件人

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Log

func Log(file, lvl string, args ...interface{})

func LogClose

func LogClose()

关闭所有已打开的文件

func Logf

func Logf(file, lvl, format string, args ...interface{})

Types

type MyIni

type MyIni struct {
	Config struct {
		MaxSize int64  `ini:"logsize"`
		Usr     string `ini:"mailuser"`
		Passwd  string `ini:"smtppassword"`
		Hst     string `ini:"host"`
		Sndto   string `ini:"sendto"`
		Sbj     string `ini:"subject"`
		Msg     string `ini:"message"`
		Uname   string `ini:"username"`
	} `ini:"[config]"`
}

Jump to

Keyboard shortcuts

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