Golang:Sirupsen/logrus是一个日志库

Sirupsen/logrus是一个日志库

文档

安装

bash 复制代码
go get github.com/sirupsen/logrus

代码示例

go 复制代码
package main

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

func main() {

    var log = logrus.New()

    log.Trace("Something very low level.")
    log.Debug("Useful debugging information.")
    log.Info("Something noteworthy happened!")
    log.Warn("You should probably take a look at this.")
    log.Error("Something failed but I'm not quitting.")
}

输出

复制代码
time="2024-05-27T11:27:24+08:00" level=info msg="Something noteworthy happened!"
time="2024-05-27T11:27:24+08:00" level=warning msg="You should probably take a look at this."
time="2024-05-27T11:27:24+08:00" level=error msg="Something failed but I'm not quitting."

其他参数

go 复制代码
// 1、设置格式
// json格式:&logrus.JSONFormatter{}
// 文本格式(默认):&log.TextFormatter{}
log.SetFormatter(&logrus.JSONFormatter{})

// 2、设置输出到文件

// 2.1、标准输出
log.Out = os.Stdout

// 2.2、文件输出
file, err := os.OpenFile("logrus.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
defer file.Close()

if err == nil {
    log.Out = file
} else {
    log.Info("Failed to log to file, using default stderr")
}

// 3、设置日志级别
log.SetLevel(logrus.DebugLevel)
相关推荐
末代iOS程序员华仔7 小时前
OPC + Flutter + Swift:跨平台应用上架与专业知识点获客实战指南
开发语言·flutter·swift
脚踏实地皮皮晨7 小时前
003004002_UniformGrid控件的使用方法
开发语言·c#·.net·wpf·visual studio
j7~8 小时前
【Linux】二十六.线程篇三《Linux多线程编程:线程控制、线程ID以及进程地址空间分布、线程局部存储__thread以及clone系统调用》---详解
linux·运维·服务器·开发语言·c++·多线程编辑·线程的控制
维吉斯蔡16 小时前
【VS Code / Cursor】文件夹右键快捷打开与文件类型自动关联
开发语言·程序人生·学习方法
前端工作日常16 小时前
我学习到的Java 的 Service 分层:itf 和 impl 到底是什么?
java·后端
前端工作日常17 小时前
我学习到的JIT即时编译与机器码缓存失效
java·后端
犀利豆18 小时前
Claude Code Tools 研究系列(三)ExitPlanMode
人工智能·后端
luj_176818 小时前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
always_TT18 小时前
【Python 日志记录:logging 模块入门】
开发语言·python·php