Go日志框架logrus的基本用法

以package级别方式使用logrus

package main
import (
"os"
log "github.com/sirupsen/logrus"
)
func init() {
// 设置日志格式
log.SetFormatter(&log.JSONFormatter{})
// 设置输出
log.SetOutput(os.Stdout)
// 设置日志级别
log.SetLevel(log.WarnLevel)
}
func main() {
log.WithFields(log.Fields{
"animal": "walrus",
"size": 10,
}).Info("A group of walrus emerges from the ocean")
log.WithFields(log.Fields{
"omg": true,
"number": 122,
}).Warn("The group's number increased tremendously!")
log.WithFields(log.Fields{
"omg": true,
"number": 100,
}).Fatal("The ice breaks!")
// 设置日志默认的信息,所有使用contextLogger都会复用这些信息
contextLogger := log.WithFields(log.Fields{
"common": "this is a common field",
"other": "I also should be logged always",
})
contextLogger.Info("I'll be logged with common and other field")
contextLogger.Info("Me too")
}

以实例方式使用logrus

package main
import (
"os"
"github.com/sirupsen/logrus"
)
// 创建一个logrus示例
var log = logrus.New()
func main() {
// 设置输出,这和package的方式有所不同,它是以属性的方式赋值
log.Out = os.Stdout
log.WithFields(logrus.Fields{
"animal": "walrus",
"size": 10,
}).Info("A group of walrus emerges from the ocean")
}

日志格式

logrus内置的日志格式有两种:

  • logrus.TextFormatter:纯文本
  • logrus.JSONFormatter:JSON

第三方的日志格式:FluentdFormatterlogstashprefixedzalgo


版权声明:著作权归作者所有。

相关推荐

CodeIgniter数据库基本用法示例

这里主要演示下CodeIgniter数据库的基本用法示例,以便入门使用CodeIgniter做数据库操作。配置数据库连接等信息CodeIgniter提供了文件 application/config/database.php用来配置数据库的连接信息,如下:$db['default'] = array(       &nb

如何修改Git已提交的日志

在某些时候,你发现了之前提交到git上的日志描述不全或者描述有误,这时你是会想要修改它的。 但提交已经是push到服务器,甚至是已经有好几个提交在后面了,这个怎么办呢?Git提供了一些方法来修改。下面分为四种情况来处理。情况一:最后一次提交且未push执行以下命令:git commit --amend git会打开$EDITOR编辑器,它会加载这次提交的日志,这样我们

Rxjs expand的用法分析

Rxjs的expand()函数声明:public expand(project: function(value: T, index: number), concurrent: number, scheduler: Scheduler): Observable expand()会递归调用project函数,project函数把源值映射为一个Observable,每次递归

Swift 4 Codable协议 - 基本用法

Swift 4新增了Codable协议,它是一个组合协议,包含Encodable和Decodable两个协议。代码定义如下:/// A type that can convert itself into and out of an external repre

Angular 5:HttpClient的基本用法

Angular 4.3引入了新的用于http请求的接口HttpClient。它旨在替换之前版本的接口Http。有以下新特性:对响应的body做类型检查默认返回的是JSON对象,不再需要使用json()显式解析返回的数据支持拦截器支持进度事件请求后验证和基于刷新的测试框架安装HttpClientModuleHttpClient属于@angular/common/http包的模块HttpCl

Kotlin:数组的基本操作

Kotlin使用Array类来表示数组,构造函数为:<init> Array(size: Int, init: (Int) -> T) size:数组大小init:初始化数组创建数组Kotlin提供了几种方法方便我们创建数组,包括:构造函数,标准库提供的arrayOf, arrayOfNulls 和emptyArray等 。构造函数// 创建 一个值