gwlog

package module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2020 License: MIT Imports: 4 Imported by: 2

README

gwlog

gamewith custom logrus logger for golang

Example

func main() {
	// singleton instance
	// same > logger == gwlog.GetLogger() 
	logger := gwlog.GetLogger()
	
	// SetFormatter (implements logrus.Formatter)
	// Default Formatter logrus.TextFormatter
	logger.SetFormatter(&formatter.JSONFormatter{})
	
	logger.Info("abc")
	// => {"level":"INFO","message":"abc","time":"2000-01-01T00:00:00+09:00"}
	
	logger.WithFields(map[string]interface{}{
		"hoge": 1,
		"fuga": "2"
	}).Info("abc")
	// => {"hoge":1,"fuga":"2","level":"INFO","message":"abc","time":"2000-01-01T00:00:00+09:00"}
    
	logger.Type("APP").Info("abc")
	// => {"type":"APP","level":"INFO","message":"abc","time":"2000-01-01T00:00:00+09:00"}
}

Documentation

Overview

Package gwlog is a log package for gamewith that wrap logrus.

gwlog.GetLogger() is a Singleton.

If you set gwlog.GetLogger().SetFormatter or gwlog.GetLogger().SetOutput, all the settings will be inherited.

Usage

// Setup
logger := gwlog.GetLogger()
logger.SetFormatter(&formatter.JSONFormatter{})
logger.SetOutput(os.Stdout)

// Simple write log
logger.Info("aaa")
// Output: {"level":"INFO","message":"aaa","time":"2000-01-01T00:00:00+09:00"}

// WithFields
logger.WithFields(map[string]interface{}{
	"hoge": "hoge"
}).Info("aaa")
// Output: {"hoge":"hoge","level":"INFO","message":"aaa","time":"2000-01-01T00:00:00+09:00"}

// Type
logger.Type("APP").Info("aaa")
// Output: {"type":"APP","level":"INFO","message":"aaa","time":"2000-01-01T00:00:00+09:00"}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Logger

type Logger interface {
	// SetFormatter is set log format
	//
	// Example:
	// 	gwlog.GetLogger().SetFormatter(&formatter.JSONFormatter{})
	// 	gwlog.GetLogger().Info("hoge")
	// 	> {"message": "hoge", "level": "INFO", "time": "..."}
	SetFormatter(formatter logrus.Formatter)
	// WithFields is SetCustomFields
	//
	// Example:
	// 	gwlog.GetLogger().WithFields(map[string]interface{}{
	// 		"hoge": "dummy",
	// 		"piyo": "dummy2"
	// 	}).Info("aaaa")
	// 	> [INFO][0001] aaaa hoge=dummy piyo=dummy2
	WithFields(fields logrus.Fields) *logrus.Entry
	// Output is get output io
	Output() io.Writer
	// SetOutput is set output io
	//
	// Example:
	// 	gwlog.GetLogger().SetOutput(os.Stdout)
	SetOutput(out io.Writer)
	// Prefix is not used
	Prefix() string
	// SetPrefix is not used
	SetPrefix(_ string)
	// Level is get log level
	Level() log.Lvl
	// SetLevel is set log level
	SetLevel(v log.Lvl)
	// SetHeader is not used
	SetHeader(h string)
	// Type is Set Add field
	Type(typ string) *logrus.Entry
	// Print writes to log at log level INFO
	Print(i ...interface{})
	// Println writes to log with a line break at log level INFO
	Println(i ...interface{})
	// Printf writes to log with a format at log level INFO
	Printf(format string, i ...interface{})
	// Printj writes to json log at log level INFO
	Printj(j log.JSON)
	// Debug writes to log at log level DEBUG
	Debug(i ...interface{})
	// Debugln writes to log with a line break at log level DEBUG
	Debugln(i ...interface{})
	// Debugf writes to log with a format at log level DEBUG
	Debugf(format string, i ...interface{})
	// Debugj writes to json log at log level DEBUG
	Debugj(j log.JSON)
	// Info writes to log at log level INFO
	Info(i ...interface{})
	// Infoln writes to log with a line break at log level INFO
	Infoln(i ...interface{})
	// Infof writes to log with a format at log level INFO
	Infof(format string, i ...interface{})
	// Infoj writes to json log at log level INFO
	Infoj(j log.JSON)
	// Warn writes to log at log level WARN
	Warn(i ...interface{})
	// Warnln writes to log with a line break at log level WARN
	Warnln(i ...interface{})
	// Warnf writes to log with a format at log level WARN
	Warnf(format string, i ...interface{})
	// Warnj writes to json log at log level WARN
	Warnj(j log.JSON)
	// Error writes to log at log level ERROR
	Error(i ...interface{})
	// Errorln writes to log with a line break at log level ERROR
	Errorln(i ...interface{})
	// Errorf writes to log with a format at log level ERROR
	Errorf(format string, i ...interface{})
	// Errorj writes to json log at log level ERROR
	Errorj(j log.JSON)
	// Fatal writes to log at log level FATAL
	Fatal(i ...interface{})
	// Fatalln writes to log with a line break at log level FATAL
	Fatalln(i ...interface{})
	// Fatalf writes to log with a format at log level FATAL
	Fatalf(format string, i ...interface{})
	// Fatalj writes to json log at log level FATAL
	Fatalj(j log.JSON)
	// Panic writes to log at log level PANIC
	Panic(i ...interface{})
	// Panicln writes to log with a line break at log level PANIC
	Panicln(i ...interface{})
	// Panicf writes to log with a format at log level PANIC
	Panicf(format string, i ...interface{})
	// Panicj writes to json log at log level PANIC
	Panicj(j log.JSON)
}

Logger is gwlog.Logger interface

func GetLogger

func GetLogger() Logger

GetLogger is get gw logger.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL