golang 集成logrus 到项目中

本文介绍了如何将Logrus日志库集成到Golang项目中,通过github官网获取相关代码,并关注日志输出的行号和时间格式化设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

github 官网

https://github.com/sirupsen/logrus

代码

package main

/**
依赖网址
https://github.com/Sirupsen/logrus
https://github.com/onrik/logrus
https://github.com/keepeye/logrus-filename

高级实用
https://juejin.im/entry/5a5830c4f265da3e2b16586c
*/
import (
   "github.com/onrik/logrus/filename"
   "os"
   "github.com/onrik/logrus/sentry"
   log "github.com/sirupsen/logrus"
)

var logInstance3 = log.New()

func init() {
   logInstance3.SetLevel(log.ErrorLevel)
   //aa := log.JSONFormatter{TimestampFormat: "2006-01-02 15:04:05"} // 设置时间输出格式
   aa := log.TextFormatter{TimestampFormat: "2006-01-02 15:04:05"}
   logInstance3.SetFormatter(&aa)
}

func LoginNew3() *os.File {
   filenameHook := filename.NewHook()
   filenameHook.Field = "line" // Customize source field name
   logInstance3.AddHook(filenameHook)

   sentryHook := sentry.NewHook("", log.PanicLevel, log.FatalLevel, log.ErrorLevel)

   log.AddHook(sentryHook)
   logInstance3.Out = os.Stdout
   file, err := os.OpenFile("logs/admin.log", os.O_CREATE|os.O_WRONLY, 0666)
   if err == nil {
   	logInstance3.Out = file
   } else {
   	logInstance3.Info("Failed to log to file, using default stderr")
   }
   return file
}

func main() {
   file := LoginNew3()
   defer file.Close()
   //logEn.Error("我拍的天啊")
   logInstance3.Info("hahha")
   logInstance3.Error("koi")
   logInstance3.Fatal("fatal")
}

注意
答应出 行号 时间也进行格式化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值