Categorygithub.com/higker/logker
modulepackage
1.2.3
Repository: https://github.com/higker/logker.git
Documentation: pkg.go.dev

# 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. LogKerGolang

log,golang,logKer

Thank list🤝

Other

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.

# Variables

Log logger.
Runtime caller skip.

# Structs

Asynchronous Task Processing.

# Interfaces

Asynchronous Task Interface added after v1.1.6.
No description provided by the author

# Type aliases

ByteSize.