# README
LogKer
LogKer
It's a log Library of Golang. It's easy to use.👨💻
📚中文说明 | 🤩Document | 👨💻 Release
Video link
Features
- Support file backup.
- Simple and easy to use.
- Support file storage log.
- Support console color printing.
- Custom log file storage location.
- Support setting time and time zone.
- Support log file size for split storage.
- Error level output to specified file separately.
- Four levels of
debug
info
error
warning
are supported. Future support: The remote computer stores the socket output🙏.
The project is constantly maintained and updated. I like 😍A kind of Please click star Thanks♪(・ω・)ノ!
- Is this you?😜
Upgrade List
- v1.1.5 Support for custom message formats.(SerialVersion) issues1
- v1.1.8 Support coroutine to record logs,The code base is smaller and lighter(AsynchronousProcessingVersion).
Historical Documents
The Documents version is v1.1.8
Installation
🔝 The minimum requirement of Go version is 1.11. 🔝 Your project also uses go module!!!
go get github.com/higker/logker
OR
go get -u github.com/higker/logker
command add -u
flag to update in the future.
Use Example
1. File Logger
package main
import (
klog "github.com/higker/logker"
"time"
)
func main() {
// Specify file location! Create folder in advance!!
dir := "/Users/ding/Documents/test_log"
// New file logger
// File Max size : You can also use built-in constants
// klog.GB1 = 1GB
// klog.MB10 = 10MB
// klog.MB100 = 100MB
format := "{level} - DATE {time} - POS {position} - MSG {message}" //This version was modified from v 1.1.5
//Create Log Buffer
task := InitAsync(Qs1w)
flog,e := klog.NewFlog(klog.DEBUG, true, klog.Shanghai, dir, "log", 10*1024, 0777,format,task)
if e != nil{
.... //Custom Operation
}
// Analog output log
for {
flog.Debug("DEBUG : %d + %d = %d",1,2,1+2)
flog.Error("ERROR")
flog.Warning("WARNING %p",flog)
flog.Info("INFO %s","Hello LogKer.")
time.Sleep(2 * time.Second)
}
}
👆Parameter note List:
// Build File logger
// Args note
// logLevel: lev, \\ logging level
// wheError: wheErr, \\ whether enable error alone file
// directory: dir, \\ logging file save directory
// fileName: fileName, \\ logging save file name
// timeZone: zone, \\ load time zone format
// power: power, \\ file system power
// fileMaxSize: size, \\ logging alone file max size
// task := InitAsync(Qs1w) \\ createsABufferForCoroutineLogProcessing
// format :
// Now upgrade to version v 1.1.5 to customize the message output format ~
// TheCustomTagNameMustBe {level} {time} {position} {message}
// The location of the custom label is the location
// where the program outputs the corresponding log message at run time!!!!
// forExampleHereIsMyCustom
// 1. //format := "{level} - {time} - {position} - {message}"
2. Console Logger
package main
import (
"github.com/higker/logker"
"strings"
)
//type Formatting string
// logKer library Test
func main() {
// Now upgrade to version v 1.1.5 to customize the message output format ~
// TheCustomTagNameMustBe {level} {time} {position} {message}
// The location of the custom label is the location
// where the program outputs the corresponding log message at run time!!!!
// forExampleHereIsMyCustom
// 1. //format := "{level} - {time} - {position} - {message}"
format := "{level} - 时间 {time} - 位置 {position} - 消息 {message}" //This version was modified from v 1.1.5
//Create Log Buffer
task := InitAsync(Qs1w)
log,e := logker.NewClog(logker.DEBUG, logker.Shanghai, format,task)
if e != nil{
..... //Custom Operation
}
log.Debug("DEBUG %s","自定义日志消息匹配符测试")
log.Info("%v", log)
log.Warning("%v", logker.Shanghai)
log.Error("ERROR")
}
OutPut
[ DEBUG ] - 时间 2020-04-20 11:57:23.8927 - 位置 main.go|main.main:23 - 消息 DEBUG 自定义日志消息匹配符测试
[ INFO ] - 时间 2020-04-20 11:57:23.8928 - 位置 main.go|main.main:24 - 消息 &{0 Asia/Shanghai 0xc00008e220 {level} - 时间 {t位置 {position} - 消息 {message}}
[WARNING] - 时间 2020-04-20 11:57:23.8928 - 位置 main.go|main.main:25 - 消息 Asia/Shanghai
[ ERROR ] - 时间 2020-04-20 11:57:23.8929 - 位置 main.go|main.main:26 - 消息 ERROR
3. Effect:
The screenshot is not updated ~ The current screenshot is v1.0.9 version, you can install the library yourself to see the effect.
Thank list🤝
- fatih (https://github.com/fatih/color)
- Icon Mafia (Logo & Banner design)
- When are you? 😜
Other
Welcome to submit work order👏
Pkg Docs:
click to pkg.go.dev
License
This project open source is MIT License . See the LICENSE file content.
# Functions
Debug level log.
Error level log.
Info level log.
Initializes The Logging Producer Channel Buffer Queue Size Data Type int64.
Build console Logger
lev : Logging level
zone : Logging time zone
formatting : Logging format template string
at : AsyncTask Pointer
*/.
Build File logger
lev : Logging level
zone : Logging time zone
formatting : Logging format template string
at : AsyncTask Pointer
wheErr : Whether To Open A Separate ErrorFile
dir : Logging file output directory
fileName : Logging Name
size : File size
power : File system power
*/.
Warning level log.
# Constants
No description provided by the author
Debug level.
Log message format wildcards {level} == logging level {time} == time {position} == runtime caller info {message} == logging message This was modified for v 1.1.5 OutPut: [INFO] 2006-01-02 13:05.0006 MP - Position: test.go|main.test:21 - Message: news.
ByteSize.
Error level.
https://blog.imdst.com/guo-bf/美东 EST /usr/share/zoneinfo/EST5EDT美西 PST /usr/share/zoneinfo/PST8PDT澳洲 CST /usr/share/zoneinfo/CST6CDT欧洲 GMT /usr/share/zoneinfo/Europe/London泰国 Thailand /usr/share/zoneinfo/Asia/Bangkok越南 Vietnam /usr/share/zoneinfo/Asia/Ho_Chi_Minh新加坡 Singapore /usr/share/zoneinfo/Asia/Singapore台湾 Taiwan /usr/share/zoneinfo/Asia/Taipei香港 HongKong /usr/share/zoneinfo/Asia/Hong_Kong日本 Japan /usr/share/zoneinfo/Asia/Tokyo韩国 Korea /usr/share/zoneinfo/Asia/Pyongyang.
ByteSize.
No description provided by the author
No description provided by the author
No description provided by the author
Info level.
No description provided by the author
ByteSize.
No description provided by the author
ByteSize.
Log file size You can also customize.
No description provided by the author
ByteSize.
No description provided by the author
10000 BufferSize.
20000 BufferSize.
30000 BufferSize.
40000 BufferSize.
50000 BufferSize.
60000 BufferSize.
Shanghai.
No description provided by the author
No description provided by the author
ByteSize.
No description provided by the author
This is package version.
No description provided by the author
Warning level.
ByteSize.
ByteSize.
# Type aliases
ByteSize.