# log **Repository Path**: alemond/log ## Basic Information - **Project Name**: log - **Description**: 开箱即用的zap logger,基于tony bai的文章 https://tonybai.com/2021/07/14/uber-zap-advanced-usage/ - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-08 - **Last Updated**: 2023-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # log #### 介绍 开箱即用的zap logger,基于tony bai的文章 https://tonybai.com/2021/07/14/uber-zap-advanced-usage/ #### 软件架构 软件架构说明 #### 安装教程 需要使用时,import路径是:gitee.com/alemond/log 安装执行: ```shell go get gitee.com/alemond/log ``` #### 使用说明 1. log.Zap*默认使用Logger: std;std默认为输出到stderr,debuglevel,console fmt,需要手动输入msg与filed 2. log.*默认使用Logger: std sugar,与上述配置相同,提供interface输入 写入文档: ```go file, err := os.OpenFile("./demo1.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644) if err != nil { panic(err) } logger := log.New(file, log.InfoLevel, log.JsonFmt) // logger := log.New(file, log.InfoLevel, log.JsonFmt, log.AddCallerSkip(1)) log.ResetDefault(logger) log.Info("demo") ``` 多文件写入: ```go file1, err := os.OpenFile("./access.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644) if err != nil { panic(err) } file2, err := os.OpenFile("./error.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644) if err != nil { panic(err) } var tops = []log.TeeOption{ { W: file1, Lef: func(lvl log.Level) bool { return lvl <= log.InfoLevel }, }, { W: file2, Lef: func(lvl log.Level) bool { return lvl > log.InfoLevel }, }, } logger := log.NewTee(tops) log.ResetDefault(logger) ``` 文件rotate ```go var tops = []log.TeeOption{ { Filename: "access.log", Ropt: log.RotateOptions{ MaxSize: 1, MaxAge: 1, MaxBackups: 3, Compress: true, }, Lef: func(lvl log.Level) bool { return lvl <= log.InfoLevel }, }, { Filename: "error.log", Ropt: log.RotateOptions{ MaxSize: 1, MaxAge: 1, MaxBackups: 3, Compress: true, }, Lef: func(lvl log.Level) bool { return lvl > log.InfoLevel }, }, } logger := log.NewTeeWithRotate(tops) log.ResetDefault(logger) ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request