Golang logger日志库

2024-05-28 10:38
文章标签 golang 日志 logger

本文主要是介绍Golang logger日志库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

go-logger 是golang 的日志库 ,基于对golang内置log的封装。
用法类似java日志工具包log4j

打印日志有5个方法 Debug,Info,Warn, Error ,Fatal  日志级别由低到高

设置日志级别的方法为:logger.SetLevel() 如:logger.SetLevel(logger.WARN)
则:logger.Debug(....),logger.Info(...) 日志不会打出,而 
 logger.Warn(...),logger.Error(...),logger.Fatal(...)日志会打出。
设置日志级别的参数有7个,分别为:ALL,DEBUG,INFO,WARN,ERROR,FATAL,OFF
其中 ALL表示所有调用打印日志的方法都会打出,而OFF则表示都不会打出。

日志文件切割有两种类型:1为按日期切分。2为按日志大小切分。
按日期切分时:每天一个备份日志文件,后缀为 .yyyy-MM-dd 
过0点是生成前一天备份文件

按大小切分是需要3个参数,1为文件大小,2为单位,3为文件数量
文件增长到指定限值时,生成备份文件,结尾为依次递增的自然数。
文件数量增长到指定限制时,新生成的日志文件将覆盖前面生成的同名的备份日志文件。

示例:
    //指定是否控制台打印,默认为true
    logger.SetConsole(true)
    //指定日志文件备份方式为文件大小的方式
    //第一个参数为日志文件存放目录
    //第二个参数为日志文件命名
    //第三个参数为备份文件最大数量
    //第四个参数为备份文件大小
    //第五个参数为文件大小的单位 KB,MB,GB ,TB
    //logger.SetRollingFile("d:/logtest", "test.log", 10, 5, logger.KB)

    //指定日志文件备份方式为日期的方式
    //第一个参数为日志文件存放目录
    //第二个参数为日志文件命名
    logger.SetRollingDaily("d:/logtest", "test.log")

    //指定日志级别  ALL,DEBUG,INFO,WARN,ERROR,FATAL,OFF 级别由低到高
    //一般习惯是测试阶段为debug,生成环境为info以上
    logger.SetLevel(logger.DEBUG)


打印日志:
func log(i int) {
    logger.Debug("Debug>>>>>>>>>>>>>>>>>>>>>>" + strconv.Itoa(i))
    logger.Info("Info>>>>>>>>>>>>>>>>>>>>>>>>>" + strconv.Itoa(i))
    logger.Warn("Warn>>>>>>>>>>>>>>>>>>>>>>>>>" + strconv.Itoa(i))
    logger.Error("Error>>>>>>>>>>>>>>>>>>>>>>>>>" + strconv.Itoa(i))
    logger.Fatal("Fatal>>>>>>>>>>>>>>>>>>>>>>>>>" + strconv.Itoa(i))

}

这篇关于Golang logger日志库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1010329

相关文章

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

Golang中map缩容的实现

《Golang中map缩容的实现》本文主要介绍了Go语言中map的扩缩容机制,包括grow和hashGrow方法的处理,具有一定的参考价值,感兴趣的可以了解一下... 目录基本分析带来的隐患为什么不支持缩容基本分析在 Go 底层源码 src/runtime/map.go 中,扩缩容的处理方法是 grow

grom设置全局日志实现执行并打印sql语句

《grom设置全局日志实现执行并打印sql语句》本文主要介绍了grom设置全局日志实现执行并打印sql语句,包括设置日志级别、实现自定义Logger接口以及如何使用GORM的默认logger,通过这些... 目录gorm中的自定义日志gorm中日志的其他操作日志级别Debug自定义 Loggergorm中的

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值

golang panic 函数用法示例详解

《golangpanic函数用法示例详解》在Go语言中,panic用于触发不可恢复的错误,终止函数执行并逐层向上触发defer,最终若未被recover捕获,程序会崩溃,recover用于在def... 目录1. panic 的作用2. 基本用法3. recover 的使用规则4. 错误处理建议5. 常见错

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

开启mysql的binlog日志步骤详解

《开启mysql的binlog日志步骤详解》:本文主要介绍MySQL5.7版本中二进制日志(bin_log)的配置和使用,文中通过图文及代码介绍的非常详细,需要的朋友可以参考下... 目录1.查看是否开启bin_log2.数据库会把日志放进logs目录中3.查看log日志总结 mysql版本5.71.查看