go-logger golang 日志处理库开源项目

我要开发同款
匿名用户2014年02月28日
13阅读
所属分类Google Go、程序开发、日志工具(Logging)
授权协议Apache

作品详情

go-logger是golang的高性能日志库日志级别打印:

调用Debug(),Info(),Warn(),Error(),Fatal()级别由低到高

设置日志打印格式:

如:SetFormat(FORMAT_SHORTFILENAME|FORMAT_DATE|FORMAT_TIME)

FORMAT_SHORTFILENAME|FORMAT_DATE|FORMAT_TIME为默认格式

不调用SetFormat()时,使用默认格式

不格式化,只打印日志内容FORMAT_NANO无格式长文件名及行数FORMAT_LONGFILENAME全路径短文件名及行数FORMAT_SHORTFILENAME如:logging_test.go:10精确到日期FORMAT_DATE如:2023/02/14精确到秒FORMAT_TIME如:01:33:27精确到微秒FORMAT_MICROSECNDS如:01:33:27.123456

打印结果形如:

[DEBUG]2023/02/1401:33:27logging_test.go:10:11111111111111

日志级别

DEBUG<INFO<WARN<ERROR<FATAL

关闭所有日志SetLevel(OFF)

说明:若设置INFO如:SetLevel(INFO)则所有Debug("*********")不再打印出来所以调试阶段,常设置为默认级别ALL,或DEBUG,打印出项目中所有日志,包括调试日志若设置OFFSetLevel(OFF)则所有日志不再打印出来所以正式环境,常设置为ERROR或以上的日志级别,项目中Debug(),Info(),warn()等日志不再打印出来,具体视实际需求设置需将日志写入文件时,则要设置日志文件使用全局log对象时,直接调用设置方法:SetRollingDaily()按日期分割SetRollingByTime()可按小时,天,月分割日志SetRollingFile()指定文件大小分割日志SetRollingFileLoop()指定文件大小分割日志,并指定保留最大日志文件数SetGzipOn(true)压缩分割的日志文件多实例:log1:=NewLogger()log1.SetRollingDaily("","logMonitor.log")log12:=NewLogger()log2.SetRollingDaily("","logBusiness.log")1.按日期分割日志文件log.SetRollingDaily("d:/foldTest","log.txt")每天按log_20221015.txt格式分割若log_20221015.txt已经存在,则生成log_20221015.1.txt,log_20221015.2.txt等文件log.SetRollingByTime("d:/foldTest","log.txt",MODE_MONTH)按月份分割日志,跨月时,保留上月份日志,如:log_202210.txtlog_202211.txtlog_202212.txtlog.SetRollingByTime("d:/foldTest","log.txt",MODE_HOUR)按小时分割日志,如:log_2022101506.txtlog_2022101507.txtlog_2022101508.txt2.按文件大小分割日志文件log.SetRollingFile("d:/foldTest","log.txt",300,MB)当文件超过300MB时,按log.1.txt,log.2.txt格式备份目录参数可以为空,则默认当前目录。log.SetRollingFileLoop(`d:/foldTest`,"log.txt",300,MB,50)设置日志文件大小最大为300M日志文件只保留最新的50个控制台日志设置全局log:SetConsole(false)控制台不打日志,默认值true实例log:log.SetConsole(false)控制台不打日志,默认值true打印日志示例://SetRollingFile("","log.txt",1000,KB)设置日志文件信息//SetRollingFileLoop(``,"log.txt",300,MB,50)设置日志文件大小300M,最多保留50个最近的日志文件//SetRollingByTime(``,"log.txt",MODE_MONTH)按月份分割日志//SetRollingByTime(``,"log.txt",MODE_HOUR)按小时分割日志//SetRollingByTime(``,"log.txt",MODE_DAY)按天分割日志与调用SetRollingDaily("","log.txt")作用相同//控制台不打印//SetConsole(false)Debug("00000000000")//默认格式:[DEBUG]2023/07/1018:40:49logging_test.go:12:00000000000SetFormat(FORMAT_NANO)Debug("111111111111")//设置格式(无格式化):111111111111SetFormat(FORMAT_LONGFILENAME)Info("22222222")//设置格式(长文件路径):[INFO]/usr/log/logging/logging_test.go:14:22222222SetFormat(FORMAT_DATE|FORMAT_SHORTFILENAME)Warn("333333333")//设置格式(日期+短文件路径):[WARN]2023/07/10logging_test.go:16:333333333SetFormat(FORMAT_DATE|FORMAT_TIME)/Error("444444444")/设置格式:[ERROR]2023/07/1018:35:19444444444SetFormat(FORMAT_SHORTFILENAME)Fatal("5555555555")//设置格式:[FATAL]logging_test.go:21:5555555555SetFormat(FORMAT_TIME)Fatal("66666666666")//设置格式:[FATAL]18:35:1966666666666校正打印时间//修改TIME_DEVIATION可以校正日志打印时间,单位纳秒TIME_DEVIATION
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论