go-logger

golang 日志处理库
授权协议 Apache
开发语言 Google Go
所属分类 程序开发、 日志工具(Logging)
软件类型 开源软件
地区 国产
投 递 者 符畅
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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)) }

v1.0.3

增加

1.输出日志格式化,与 log.Printf(format,"*") format类型,如 **

  1. logger.SetFormat("%s,%s") 对应参数是两个:logger.Debug("a","b") 输出:a,b

2.支持多日志对象,不同对象可以设置不同存放日志目录或日志名称

  1. 通用配置 :logger.SetRollingFile() ,logger.SetRollingDaily()

  2. 指定对象1 log1 := logger.GetLogger()     log1.SetRollingDaily("d:/logtest", "t1.log")

  3. 指定对象2 log2 := logger.GetLogger()     log2.SetRollingDaily("d:/logtest", "t2.log")

3.支持同一对象指定日志级别对应不同文件

  1. logger.SetLevelFile(level LEVEL, fileDir, fileName string)

  2. 参数说明:level 日志级别 ;fileDir 日志文件夹;fileName 日志文件名

  3. 如:logger.SetLevelFile(logger.INFO, "d:/logtest", "info.log")

  4. 如:logger.SetLevelFile(logger.WARN, "d:/logtest", "warn.log")

修改

  1. 重构代码

  2. 优化,去掉监控器

  • Go语言的log Logger struct type Logger struct { mu sync.Mutex prefix string flag int out io.Writer buf []byte } 用于记录日志,sync.Mutex 锁mu, prefix 每条日志的前缀,flag 有Ldata Ltim

  • 代码 package main import ( "log" "os" ) /* 2016/10/20 13:25:42 Hello, 5 + 3 = 8 [bar]2016/10/20 13:25:42 test.go:29: Hello, world! [bar]2016/10/20 13:25:42 test.go:30: Hello, world! [bar]20

  • go-logger 是golang 的日志库 ,基于对golang内置log的封装。 用法类似java日志工具包log4j 打印日志有5个方法 Debug,Info,Warn, Error ,Fatal  日志级别由低到高 设置日志级别的方法为:logger.SetLevel() 如:logger.SetLevel(logger.WARN) 则:logger.Debug(....),logger.

  • 介绍一下golang如何记log。 log 首先是golang自带的package log。使用godoc查看,godoc -http=:8001,然后就可以在localhost:8001/pkg/log就可以查看了。 最重要的是SetOutput这个函数,原型是func SetOutput(w io.Writer),决定了log应该输出到什么地方,默认是标准输出。下面是把log输出到文件的一个简

  • 从今天开始,要进行一个简单的PytorchCNN完整的项目搭建,整体的代码在我的github上面可以查阅 这个项目包括基础了logging、argparse、dataset、model、loss、train & test等函数的编写,尽量把每个函数都进行封装,方便调用,我会一一介绍各个函数 今日先记录一下: Logging Python日志记录工具 日志是对软件执行时所发生事件的一种追踪方式,软件

  • 默认日志 Logback: 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了。 从上图可以看到,日志输出内容元素具体如下: 时间日期:精确到毫秒 日志级别:ERROR, WARN, INFO, DEBUG or TRACE 进程ID 分隔符:— 标识实际日志的开始 线程名:方括号括起来(

  • 自定义logger中间件 新建文件夹middleware 新建文件middleware/logger.go package middleware import ( "fmt" "time" "github.com/gin-gonic/gin" ) func Logger() gin.HandlerFunc { return gin.LoggerWithFormatter(func(p

  • 自定义logger输出到文件 新建文件夹log server.go package main import ( "io" "learn-gin/controller" "learn-gin/middleware" "learn-gin/service" "net/http" "os" "github.com/gin-gonic/gin" ) var ( blogService

  • ECHO 学习Demo 简介 此项目主要用于学习使用传说中比其他Go web框架性能高10倍的ECHO 项目使用 glide 构建 项目中使用到包 日志: github.com/donnie4w/go-logger/logger 单元测试:github.com/smartystreets/goconvey 数据库查询:github.com/jmoiron/sqlx mysql驱动:github.c

  • Go 语言中的 logger 和 zap 日志库 在软件开发过程中,需要进行关键日志记录,便于后期的审计和排错。 一个好的日志记录器应该具备以下功能: 日志写入到文件而不是控制台输出 日志切割-按文件大小、时间或间隔等切割日志文件 支持不同的日志级别,如:INFO,DEBUG,ERROR 等 能打印基本信息,如调用文件/函数名和行号,日志时间等 Go Logger 配置日志输出文件 func Se

  • logging 我们之前分别讲了微服务架构下的tracing,metrics。这节我们来讲一下logging 日志作为整个代码行为的记录,是程序执行逻辑和异常最直接的反馈。对于整个系统来说,日志是至关重要的组成部分。通过分析日志我们不仅可以发现系统的问题,同时日志中也蕴含了大量有价值可以被挖掘的信息,因此合理地记录日志是十分必要的。 个人理解 tracing对于系统性能分析很重要。 metrics

  • 一、标准库log介绍 Go语言内置的log包实现了简单的日志服务。 1、使用Logger log包定义了Logger类型,该类型提供了一些格式化输出的方法。 log包也提供了一个预定义的“标准”logger,可以通过调用函数Print系列(Print|Printf|Println)、Fatal系列(Fatal|Fatalf|Fatalln)、和Panic系列(Panic|Panicf|Panicl

 相关资料
  • 日志记录和写入由\think\Log类完成,通常我们使用think\facade\Log类进行静态调用。 由于日志记录了所有的运行错误,因此养成经常查看日志文件的习惯,可以避免和及早发现很多的错误隐患。 5.1的日志遵循PSR-3规范 [TOC=2,3] 日志配置 日志的配置文件是配置文件目录下的log.php文件,如果需要针对不同的模块设置不同的日志类型,则需要在模块配置目录下的log.php中

  • beego 之前介绍的时候说过是基于几个模块搭建的,beego 的日志处理是基于 logs 模块搭建的,内置了一个变量 BeeLogger,默认已经是 logs.BeeLogger 类型,初始化了 console,也就是默认输出到 console。 使用入门 一般在程序中我们使用如下的方式进行输出: beego.Emergency("this is emergency") beego.Alert(

  • 这是一个用来处理日志的库,它的设计思路来自于 database/sql,目前支持的引擎有 file、console、net、smtp,可以通过如下方式进行安装: go get github.com/astaxie/beego/logs 如何使用 通用方式 首先引入包: import ( "github.com/astaxie/beego/logs" ) 然后添加输出引擎(log 支持同

  • 1.【强制】应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架SLF4J中的API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。 import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger = LoggerFactory

  • 为了打印日志,可使用Objective-C编程语言中的方法,首先在示例中使用了这个方法。 下面来看一下打印“Hello World”字样的简单代码 - 现在,当编译并运行程序时,将得到以下结果 - 在实时应用程序中禁用日志 由于在应用程序中经常使用,它将日志信息打印在设备的日志中,并且在实时构建中打印日志是不好的。 因此,使用类型定义来打印日志,如下所示。 执行上面示例代码,得到以下结果: 现在,

  • 日志 Cabin默认使用内置的 log 来将日志输出到控制台,如: 2017/07/15 19:43:56 [Request: alice, data1, read ---> true] 日志记录不是默认启用的,您可以通过调用 Enforcer.EnableLog() 或 NewEnforcer()函数中的最后一个参数来切换它。 note 我们已经支持日志模型、强制请求、角色、Golang策略。

  • NSLog方法 为了打印日志,我们使用Objective-C编程语言中的NSLog方法,我们在Hello World示例中使用了该方法。 让我们看一下打印“Hello World”字样的简单代码 - #import <Foundation/Foundation.h> int main() { NSLog(@"Hello, World! \n"); return 0; } 现在,当我们

  • 主要内容:输出通过使用重定向命令可以在批处理脚本中进行登录。 语法 创建一个名为的文件,并在文件中输入以下命令。 上面的命令有一个错误,因为命令的选项是以错误的方式给出的。 输出 如果带有上面的文件的命令运行为 - 而打开文件,会看到下面的错误。 这个命令的语法是 - 通过键入获取更多的帮助内容。 如果打开名为的文件,它会显示一个执行命令的日志。