logger

package module
v0.0.0-...-77e382c Latest Latest
Warning

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

Go to latest
Published: May 22, 2015 License: MIT Imports: 10 Imported by: 12

README

logger

这是一个基于GO语言的服务器日志系统,使用起来会非常方便,API接口简洁,易于嵌入到目前的项目工程中。

特性

1.支持按日备份,跨天会创建新的日志
2.支持按大小切分日志,如果单个日志文件超过指定上限,会重新创建日志
3.支持控制台不同日志不同颜色显示,DEBUG和INFO日志默认输出白色,WARN输出黄色,ERROR输出红色
4.支持捕获异常操作,并将异常信息及出错时运行堆栈保存在exception目录中,按时间存放

获取

go get github.com/baickl/logger

示例

import(
    "github.com/baickl/logger"
)

//初始化
logger.Initialize("./log","LoginServer") 
  
//设置选项 
logger.SetConsole(true) 
logger.SetLevel(logger.DEBUG)
  
//单一输出 
logger.Debug("I'm debug log!") 
logger.Info("I'm info log!") 
logger.Warn("I'm warn log!") 
logger.Error("I'm error log!") 
  
//格式化输出 
logger.Debugf("I'm %s log! ","debug") 
logger.Infof("I'm %s log!","info")
logger.Warnf("I'm %s log!","warn")
logger.Errorf("I'm %s log!","error")
  
//行输出
logger.Debugln("I'm","debug","log!") 
logger.Infoln("I'm","info","log!")
logger.Warnln("I'm","warn","log!") 
logger.Errorln("I'm","error","log!")

//异常捕获
defer logger.CatchException()
panic(err)  //此panic会被logger.CatchException()捕获,并保存到exception目录

Documentation

Index

Constants

View Source
const (
	CLR_BLACK   = COLOR(30) // 黑色
	CLR_RED     = COLOR(31) // 红色
	CLR_GREEN   = COLOR(32) // 绿色
	CLR_YELLOW  = COLOR(33) // 黄色
	CLR_BLUE    = COLOR(34) // 蓝色
	CLR_PURPLE  = COLOR(35) // 紫红色
	CLR_CYAN    = COLOR(36) // 青蓝色
	CLR_WHITE   = COLOR(37) // 白色
	CLR_DEFAULT = COLOR(39) // 默认
)
View Source
const (
	STYLE_DEFAULT   = STYLE(0) //终端默认设置
	STYLE_HIGHLIGHT = STYLE(1) //高亮显示
	SYTLE_UNDERLINE = STYLE(4) //使用下划线
	SYTLE_BLINK     = STYLE(5) //闪烁
	STYLE_INVERSE   = STYLE(7) //反白显示
	STYLE_INVISIBLE = STYLE(8) //不可见
)

Variables

This section is empty.

Functions

func CatchException

func CatchException()

*****************************************************************************

 @brief
 	捕获异常处理函数,如果发现程序有异常以后,会在当前目录中创建异常目录,并将异常信息写入到文件中
 		例如:
 			func foo(){
				defer logger.CatchException()
				panic(123)	//此panic会被logger.CatchException()函数捕获并记录
 			}
 @author
 	chenzhiguo
 @param
	-
 @return
 	-
 @history
 	2015-05-16_10:22 	chenzhiguo		创建

******************************************************************************

func Debug

func Debug(arg interface{})

*****************************************************************************

 @brief
 	输出Debug日志
 @author
 	chenzhiguo
 @param
	arg					要输出的内容
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Debugf

func Debugf(format string, args ...interface{})

*****************************************************************************

 @brief
 	输出Debug日志,支持格式化操作
 @author
 	chenzhiguo
 @param
	format				格式化字符或字符串
	args				格式化参数
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Debugln

func Debugln(args ...interface{})

*****************************************************************************

 @brief
 	输出Debug日志
 @author
 	chenzhiguo
 @param
	format				格式化字符或字符串
	args				格式化参数
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Error

func Error(arg interface{})

*****************************************************************************

 @brief
 	输出Error日志
 @author
 	chenzhiguo
 @param
	arg					要输出的内容
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Errorf

func Errorf(format string, args ...interface{})

*****************************************************************************

 @brief
 	输出Error日志,支持格式化操作
 @author
 	chenzhiguo
 @param
	format				格式化字符或字符串
	args				格式化参数
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Errorln

func Errorln(args ...interface{})

*****************************************************************************

 @brief
 	输出Error日志
 @author
 	chenzhiguo
 @param
	format				格式化字符或字符串
	args				格式化参数
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Fatal

func Fatal(arg interface{})

*****************************************************************************

 @brief
 	输出Fatal日志
 @author
 	chenzhiguo
 @param
	arg					要输出的内容
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Fatalf

func Fatalf(format string, args ...interface{})

*****************************************************************************

 @brief
 	输出Fatal日志,支持格式化操作
 @author
 	chenzhiguo
 @param
	format				格式化字符或字符串
	args				格式化参数
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Fatalln

func Fatalln(args ...interface{})

*****************************************************************************

 @brief
 	输出Fatal日志
 @author
 	chenzhiguo
 @param
	format				格式化字符或字符串
	args				格式化参数
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Info

func Info(arg interface{})

*****************************************************************************

 @brief
 	输出Info日志
 @author
 	chenzhiguo
 @param
	arg					要输出的内容
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Infof

func Infof(format string, args ...interface{})

*****************************************************************************

 @brief
 	输出Info日志,支持格式化操作
 @author
 	chenzhiguo
 @param
	format				格式化字符或字符串
	args				格式化参数
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Infoln

func Infoln(args ...interface{})

*****************************************************************************

 @brief
 	输出Info日志
 @author
 	chenzhiguo
 @param
	format				格式化字符或字符串
	args				格式化参数
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Initialize

func Initialize(fileDir, fileName string)

*****************************************************************************

 @brief
 	日志系统初始化,需要提供存放目录和日志基础名字
 		例:
 			logger.Initialize("./log/","login_server")

 		那么日志系统会创建 ./log/20150516/login_server_1022.log 日志文件
 @author
 	chenzhiguo
 @param
	fileDir				日志存放路径
	fileName			日志基础名称
 @return
 	int					返回结果
 @history
 	2015-05-16_10:22 	chenzhiguo		创建

******************************************************************************

func SetConsole

func SetConsole(isConsole bool)

*****************************************************************************

 @brief
 	设置终端控制台是否显示日志
 @author
 	chenzhiguo
 @param
	isConsole			是否显示
 @return
 	-
 @history
 	2015-05-16_10:22 	chenzhiguo		创建

******************************************************************************

func SetConsolePrefix

func SetConsolePrefix(prefix string)

*****************************************************************************

 @brief
 	设置终端控制台显示前缀
 @author
 	chenzhiguo
 @param
	prefix				要显示的前缀
 @return
 	-
 @history
 	2015-05-16_17:15 	chenzhiguo		创建

******************************************************************************

func SetLevel

func SetLevel(_level LEVEL)

*****************************************************************************

 @brief
 	设置日志记录级别,低于这个级别的日志将会被丢弃
 @author
 	chenzhiguo
 @param
	_level				级别
 @return
 	-
 @history
 	2015-05-16_10:22 	chenzhiguo		创建

******************************************************************************

func SprintColor

func SprintColor(str string, s STYLE, fc, bc COLOR) string

*****************************************************************************

 @brief
 	用颜色来显示字符串
 @author
 	chenzhiguo
 @param
	str					待显示的字符串
	s					显示样式
	fc					显示前景色
	bc					显示背景色
 @return
 	string				返回生成的格式化字符
 @history
 	2015-05-16_10:22 	chenzhiguo		创建

******************************************************************************

func StartPPROF

func StartPPROF(port int)

*****************************************************************************

 @brief
 	启动性能分析协程
 @author
 	chenzhiguo
 @param
	port				当前服务器端口,性能分析端口会监听端口:port+10000
 @return
 	-
 @history
 	2015-05-16_10:22 	chenzhiguo		创建

******************************************************************************

func Warn

func Warn(arg interface{})

*****************************************************************************

 @brief
 	输出Warn日志
 @author
 	chenzhiguo
 @param
	arg					要输出的内容
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Warnf

func Warnf(format string, args ...interface{})

*****************************************************************************

 @brief
 	输出Warn日志,支持格式化操作
 @author
 	chenzhiguo
 @param
	format				格式化字符或字符串
	args				格式化参数
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

func Warnln

func Warnln(args ...interface{})

*****************************************************************************

 @brief
 	输出Warn日志
 @author
 	chenzhiguo
 @param
	format				格式化字符或字符串
	args				格式化参数
 @return
 	-
 @history
 	2015-05-16_10:52 	chenzhiguo		创建

******************************************************************************

Types

type COLOR

type COLOR int //显示颜色

type LEVEL

type LEVEL int //日志等级
const (
	ALL   LEVEL = iota //所有日志
	DEBUG              //调试
	INFO               //信息
	WARN               //警告
	ERROR              //错误
	FATAL              //崩溃
)

type LOG_FILE

type LOG_FILE struct {
	sync.RWMutex //线程锁
	// contains filtered or unexported fields
}

*****************************************************************************

@brief
	日志文件类结构
@author
	chenzhiguo
@history
	2015-05-16_10:22 	chenzhiguo		创建

******************************************************************************

type STYLE

type STYLE int //显示样式

type Verbose

type Verbose bool

func V

func V(level LEVEL) Verbose

func (Verbose) Debug

func (v Verbose) Debug(arg interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Debug
@history
	2015-05-22_09:32 	chenzhiguo		创建

******************************************************************************

func (Verbose) Debugf

func (v Verbose) Debugf(format string, args ...interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Debugf
@history
	2015-05-22_09:33 	chenzhiguo		创建

******************************************************************************

func (Verbose) Debugln

func (v Verbose) Debugln(args ...interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Debugln
@history
	2015-05-22_09:34 	chenzhiguo		创建

******************************************************************************

func (Verbose) Error

func (v Verbose) Error(arg interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Error
@history
	2015-05-22_09:32 	chenzhiguo		创建

******************************************************************************

func (Verbose) Errorf

func (v Verbose) Errorf(format string, args ...interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Errorf
@history
	2015-05-22_09:33 	chenzhiguo		创建

******************************************************************************

func (Verbose) Errorln

func (v Verbose) Errorln(args ...interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Errorln
@history
	2015-05-22_09:34 	chenzhiguo		创建

******************************************************************************

func (Verbose) Fatal

func (v Verbose) Fatal(arg interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Fatal
@history
	2015-05-22_09:32 	chenzhiguo		创建

******************************************************************************

func (Verbose) Fatalf

func (v Verbose) Fatalf(format string, args ...interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Fatalf
@history
	2015-05-22_09:33 	chenzhiguo		创建

******************************************************************************

func (Verbose) Fatalln

func (v Verbose) Fatalln(args ...interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Fatalln
@history
	2015-05-22_09:34 	chenzhiguo		创建

******************************************************************************

func (Verbose) Info

func (v Verbose) Info(arg interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Info
@history
	2015-05-22_09:32 	chenzhiguo		创建

******************************************************************************

func (Verbose) Infof

func (v Verbose) Infof(format string, args ...interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Info
@history
	2015-05-22_09:33 	chenzhiguo		创建

******************************************************************************

func (Verbose) Infoln

func (v Verbose) Infoln(args ...interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Infoln
@history
	2015-05-22_09:34 	chenzhiguo		创建

******************************************************************************

func (Verbose) Warn

func (v Verbose) Warn(arg interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Warn
@history
	2015-05-22_09:32 	chenzhiguo		创建

******************************************************************************

func (Verbose) Warnf

func (v Verbose) Warnf(format string, args ...interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Warnf
@history
	2015-05-22_09:33 	chenzhiguo		创建

******************************************************************************

func (Verbose) Warnln

func (v Verbose) Warnln(args ...interface{})

*****************************************************************************

@brief
	输出Debug日志
@author
	chenzhiguo
@see
	logger.Warnln
@history
	2015-05-22_09:34 	chenzhiguo		创建

******************************************************************************

Jump to

Keyboard shortcuts

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