iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >go日志库中的logrus
  • 124
分享到

go日志库中的logrus

2024-04-02 19:04:59 124人浏览 八月长安
摘要

一、安装 Go get GitHub.com/sirupsen/logrus 二、使用 1、当做标准库使用 logrus实现了标准库log的方法,可以用标准库的方法用于logrus,

一、安装

Go get GitHub.com/sirupsen/logrus

二、使用

1、当做标准库使用

logrus实现了标准库log的方法,可以用标准库的方法用于logrus,例如

import (
  log "github.com/sirupsen/logrus"
)
log.Println("标准log")

2、使用带级别日志

import (
  log "github.com/sirupsen/logrus"
)

func main() {
  log.Info("info")
}

具体有七个类别Trace、Debug、Info、Warning、Error、Fatal和Panic。这里需要注意Fatal和Panic类型的日志会中断程序的运行。

3、输出日志时可以附带参数

log.WithFields(log.Fields{
  "flag":    true,
  "name": "zhangsan",
  }).Fatal("fatal")

在运行中出现错误时,把当时的参数记录下来更容易分析,而不是把各个参数组织成句子拼接起来。

4、日志输出的格式

log.SetFORMatter(&log.JSONFormatter{})
log.SetFormatter(&log.TextFormatter{
  ForceColors:   true,
  FullTimestamp: true,
  })
log.SetOutput(os.Stdout)
log.SetLevel(log.WarnLevel)

可以输出jsON,文本格式,对具体的格式还可以设置颜色、时间串等信息,可以设置输出位置,输出日志的级别。

5、输出到多个位置

如果同一份日志内容想存储到不同位置,可以创建不同的log实例,对每个实例进行不同设置

var log = logrus.New()

6、输出日志到文件

file, err := os.OpenFile("logs/cus.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err == nil {
    log.Out = file
} else {
    log.Info("Failed to log to file, using default stderr")
}

7、分割日志文件

如果每天的日志都放到一个文件中,会越来越大,按照时间进行分割会比较好。下面的内容放到初始化的时候执行。

这里面需要引入第三方库

"github.com/lestrrat-go/file-rotatelogs"

"github.com/rifflock/lfshook"

writer, err := rotatelogs.New(
    "文件名"+".%Y%m%d%H%M", // 分割后的文件名称
    rotatelogs.WithLinkName("文件名"),      // 生成软链,指向最新日志文件
    rotatelogs.WithMaxAge(time.Hour*24*365),             // 设置最大保存时间
    rotatelogs.WithRotationTime(time.Hour*24), // 设置日志切割时间间隔
)

if err != nil {
    log.Errorf("config local file system logger error", err)
}

lfHook := lfshook.NewHook(lfshook.WriterMap{
    logrus.DebugLevel: writer, // 为不同级别设置不同的输出目的
    logrus.InfoLevel:  writer,
    logrus.WarnLevel:  writer,
    logrus.ErrorLevel: writer,
    logrus.FatalLevel: writer,
    logrus.PanicLevel: writer,
}, &logrus.TextFormatter{DisableColors: true})
//最后加入hook
log.AddHook(lfHook)

到此这篇关于go日志库中的logrus的文章就介绍到这了,更多相关go日志库logrus内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: go日志库中的logrus

本文链接: https://www.lsjlt.com/news/121078.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • go日志库中的logrus
    一、安装 go get github.com/sirupsen/logrus 二、使用 1、当做标准库使用 logrus实现了标准库log的方法,可以用标准库的方法用于logrus,...
    99+
    2024-04-02
  • go日志库logrus的安装及快速使用
    目录安装简介快速使用支持的日志级别日期打印调用位置添加字段给字段值加引号设置钩子设置channel输出日志安装简介 Logrus是Go的结构化日志记录器,与标准的日志记录器库完全AP...
    99+
    2024-04-02
  • Go实现整合Logrus实现日志打印
    目录1 初步使用2 增加标签WithFields3 配置常见参数4 输出日志到文件5 利用Hooks将日志输出到其他地方Github:github.com/sirupsen/lo&h...
    99+
    2024-04-02
  • Go语言中log日志库的介绍
    目录一、标准库log介绍1、使用Logger2、配置logger 2.1、标准logger的配置二、自定义日志库 1、需要满足的需求2、了解下runtime包3、...
    99+
    2024-04-02
  • Go语言中的日志库有哪些值得推荐?
    随着互联网技术的不断发展,日志已经成为了软件开发中必不可少的一部分。在Go语言中,有很多优秀的日志库可供选择。本文将介绍几个值得推荐的日志库,并演示它们的使用方法。 logrus logrus是一个非常流行的日志库,它提供了丰富的功能...
    99+
    2023-06-04
    日志 shell 编程算法
  • Go语言Zap日志库如何使用
    这篇“Go语言Zap日志库如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言Zap日志库如何使用”文章吧。一、日...
    99+
    2023-07-05
  • golang默认Logger日志库在项目中使用Zap日志库
    目录在Go语言项目中使用Zap日志库介绍默认的Go Logger日志库实现Go Logger设置Logger使用LoggerLogger的运行Go Logger的优势和劣势优势劣势U...
    99+
    2024-04-02
  • 在Go语言项目中怎么使用Zap日志库
    本篇内容介绍了“在Go语言项目中怎么使用Zap日志库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Go语言项目中使用Zap日志库介绍在许多...
    99+
    2023-06-30
  • Go语言中有哪些经典的缓存与日志处理库?
    Go语言作为一门高效且易于学习的编程语言,其生态系统也相当丰富。在Go语言中,有许多经典的缓存与日志处理库,它们都为我们提供了极大的帮助。本文将介绍Go语言中一些经典的缓存与日志处理库。 一、缓存库 GoCache GoCache是Go...
    99+
    2023-10-20
    缓存 日志 分布式
  • 如何在 Git 中同步 Go 日志?
    Git 是一个非常流行的版本控制工具,用于管理代码和项目。Go 是一种高效、简洁、安全的编程语言,被广泛应用于各种项目中。在使用 Git 进行代码管理时,我们经常需要记录日志以跟踪代码变更。本文将介绍如何在 Git 中同步 Go 日志,并...
    99+
    2023-07-18
    日志 同步 git
  • go语言日志实现详解(打印日志、日志写入文件和日志切割)
    目录Go语言内置的log包实现了简单的日志服务Logger标准logger的配置配置日志前缀(SetPrefix)配置日志输出位置创建新logger对象日志库级别runtime.Ca...
    99+
    2024-04-02
  • Go日志:如何在Spring项目中使用Git进行日志记录?
    日志记录是任何应用程序中必不可少的一部分,因为它可以帮助开发者定位并解决问题。在Go语言中,我们可以使用标准库中的log包来记录日志。但是,如果我们在一个Spring项目中使用Go语言进行开发,我们可能需要将日志记录到Git中,这样可以更...
    99+
    2023-08-05
    日志 spring git
  • 如何在 Go 开发中记录日志?
    Go 作为一门现代化的编程语言,拥有许多优秀的特性和工具,其中之一就是强大的日志记录功能。在 Go 开发中,日志记录是非常重要的,因为它可以帮助开发者在调试和分析程序时更容易地追踪代码执行的路径和状态。在本篇文章中,我们将介绍如何在 Go ...
    99+
    2023-06-19
    开发技术 教程 日志
  • Python中loguru日志库如何使用
    这篇文章主要介绍“Python中loguru日志库如何使用”,在日常操作中,相信很多人在Python中loguru日志库如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中loguru日志库如...
    99+
    2023-07-05
  • Laravel日志和Go框架日志:哪个更容易使用?
    随着Web应用程序的不断发展,日志记录已成为一项必不可少的任务。对于开发人员来说,日志记录是一种追踪和调试应用程序的重要方式。在本文中,我们将比较Laravel和Go框架的日志记录功能,以便开发人员可以更好地了解哪种框架更适合他们的需求。...
    99+
    2023-06-04
    框架 日志 laravel
  • 删除sqlserver数据库日志和没有日志的数据库的恢复办法
    这篇文章将为大家详细讲解有关删除sqlserver数据库日志和没有日志的数据库的恢复办法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、删除数据库日志文件...
    99+
    2024-04-02
  • 如何在 Go语言中使用日志包
    目录Go 语言标准库之log 包如何将日志消息存储在 Go 中的文件中定制你的日志记录器总结引言: 在我们的日常编程中,日志很重要。只要是我们写代码,就有可能出现 Bug。日志文件就...
    99+
    2024-04-02
  • 怎么在Go语言中使用日志包
    这篇“怎么在Go语言中使用日志包”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么在Go语言中使用日志包”文章吧。让我们来看...
    99+
    2023-06-30
  • GO语言中的日志响应速度有多快?
    随着互联网技术的不断发展,系统日志已经成为了一个重要的组成部分。而在GO语言中,日志输出是一个非常常见的操作,很多开发者都会使用GO语言自带的日志库进行日志输出操作。那么,GO语言中的日志响应速度有多快呢?本文将会为您进行详细的介绍。 G...
    99+
    2023-07-02
    索引 日志 响应
  • Go语言中的日志调试技巧有哪些?
    在软件开发过程中,日志是非常重要的工具,它可以帮助开发者快速定位问题,找到错误的根源。在Go语言中,标准库提供了内置的日志库,可以满足大部分的日志需求。本文将介绍Go语言中的日志调试技巧,以及如何使用标准库来实现日志记录。 一、日志调试技...
    99+
    2023-06-04
    日志 shell 编程算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作