项目作者: r-pai

项目描述 :
logger package for Golang
高级语言: Go
项目地址: git://github.com/r-pai/logger.git
创建时间: 2019-07-08T18:20:32Z
项目社区:https://github.com/r-pai/logger

开源协议:

下载


# logger (A logger package for Go)

This package is for logging messages to file.
The log format can be in json or can be normal.

Its prettly simple to use.

Create the logger Instance - Use ‘CreateLogger’ function
There are 5 methods available to log, all of these linked to a log level.

  • Debug(format string, a …interface{})
  • Info(format string, a …interface{})
  • Warn(format string, a …interface{})
  • Error(format string, a …interface{})
  • Fatal(format string, a …interface{})

Each of the above functions are assoiated to 5 Loglevels.

  • LDebug
  • LInfo
  • LWarn
  • LError
  • LFatal

Any of the log level functions can be called from any goroutine and the logging would not be affected.

# How to install

  1. go get github.com/r-pai/logger

# How to use

import the package

  1. import "github.com/r-pai/logger"

Create Logger in main or in init.

  1. log := logger.CreateLogger("./", "Myapp", logger.LDebug)

Log the messages - 5 Types of LogLevels

  1. log.Debug("Starting Hello LDEBUG")
  2. log.Info("Starting Hello LINFO")
  3. log.Warn("Starting Hello LWARN")
  4. log.Error("Starting Hello LERROR")
  5. log.Fatal("Starting Hello LFATAL")

# Sample Code 1

  1. package main
  2. import (
  3. "github.com/r-pai/logger"
  4. )
  5. //Create the logger instance
  6. var log = logger.CreateLogger("./", "Myapp", logger.LDebug)
  7. func main() {
  8. log.Debug("Starting Hello LDEBUG")
  9. log.Info("Starting Hello LINFO")
  10. log.Warn("Starting Hello LWARN")
  11. log.Error("Starting Hello LERROR")
  12. log.Fatal("Starting Hello LFATAL")
  13. }

# Sample Code 2 - Log messages in go routines

  1. package main
  2. import (
  3. "github.com/r-pai/logger"
  4. "time"
  5. )
  6. func number() int {
  7. num := 15 * 5
  8. return num
  9. }
  10. func go1() {
  11. for i := 0; i < 1000; i++ {
  12. log.Info("%s %d", "go1 Log message", i)
  13. time.Sleep(400 * time.Millisecond)
  14. }
  15. }
  16. func go2() {
  17. for i := 1000; i < 3000; i++ {
  18. log.Info("%s %d", "go2 Log message", i)
  19. time.Sleep(100 * time.Millisecond)
  20. }
  21. }
  22. //Create the logger
  23. var log *logger.GLogger
  24. func init(){
  25. log = logger.CreateLogger("./", "Myapp", logger.LDebug)
  26. //constants from time package
  27. log.SetLogTimeFormat(time.RFC850) //set the time format
  28. //logout put can be in json format
  29. log.SetJSONLog(true)
  30. }
  31. //main entry point
  32. func main() {
  33. go go1()
  34. go go2()
  35. for {
  36. }
  37. }

# Loggeroutput

Sample output of file : MyApp_07-09-2019.log

Screenshot 2019-07-09 at 10 08 59 AM

Json Style output

Screen Shot 2019-08-28 at 10 41 42 pm