Documentation ¶
Overview ¶
Package golog provides simple logger Basic example:
package main import ( "fmt" "context" "github.com/vardius/golog" ) func main() { ctx := context.Background() logger := golog.New() logger.Debug(ctx context.Context, fmt.Sprintf("Hello %s!", "you")) }
As a package:
package mylogger import ( "context" "github.com/vardius/golog" ) var logger golog.Logger func SetFlags(flag int) { logger.SetFlags(flag) } func SetVerbosity(verbosity golog.Verbose) { logger.SetVerbosity(verbosity) } func Debug(ctx context.Context, v string) { logger.Debug(ctx, v) } func Info(ctx context.Context, v string) { logger.Info(ctx, v) } func Warning(ctx context.Context, v string) { logger.Warning(ctx, v) } func Error(ctx context.Context, v string) { logger.Error(ctx, v) } func Critical(ctx context.Context, v string) { logger.Critical(ctx, v) } func init() { logger = golog.New() }
usage:
package main import ( "fmt" "mylogger" ) func main() { mylogger.Debug(ctx context.Context, fmt.Sprintf("Hello %s!", "you")) }
Index ¶
Examples ¶
Constants ¶
View Source
const ( CLR_0 = "\x1b[30;1m" CLR_R = "\x1b[31;1m" CLR_G = "\x1b[32;1m" CLR_Y = "\x1b[33;1m" CLR_B = "\x1b[34;1m" CLR_M = "\x1b[35;1m" CLR_C = "\x1b[36;1m" CLR_W = "\x1b[37;1m" RESET = "\x1b[0m" )
Terminal colours.
View Source
const ( // DebugPrefix text to prefix to each log entry generated by the Logger DebugPrefix = "DEBUG: " // InfoPrefix text to prefix to each log entry generated by the Logger InfoPrefix = "INFO: " // WarnPrefix text to prefix to each log entry generated by the Logger WarnPrefix = "WARN: " // ErrorPrefix text to prefix to each log entry generated by the Logger ErrorPrefix = "ERROR: " // CriticalPrefix text to prefix to each log entry generated by the Logger CriticalPrefix = "CRITICAL: " // DefaultFlags define default text to prefix to each log entry generated by the Logger DefaultFlags = log.Ldate | log.Ltime | log.Lmicroseconds | log.LUTC // DefaultVerbosity define default verbosity level DefaultVerbosity = Critical | Error | Warning | Info | Debug )
Variables ¶
View Source
var New loggerFactory
New returns a Logger.
Functions ¶
This section is empty.
Types ¶
type Logger ¶
type Logger interface { Debug(ctx context.Context, v string) Info(ctx context.Context, v string) Warning(ctx context.Context, v string) Error(ctx context.Context, v string) Critical(ctx context.Context, v string) // Fatal is equivalent to Critical followed by a call to os.Exit(1). Fatal(ctx context.Context, v string) // SetFlags override DefaultFlags value on a Logger instance https://golang.org/pkg/log/#pkg-constants SetFlags(flag int) // SetVerbosity override DefaultVerbosity value on a Logger instance SetVerbosity(verbosity Verbose) }
Logger interface
func NewConsoleLogger ¶
func NewConsoleLogger() Logger
NewConsoleLogger returns a Logger that writes to the console.
Example ¶
package main import ( "context" "fmt" "github.com/vardius/golog" ) func main() { ctx := context.Background() logger := golog.NewConsoleLogger() logger.SetVerbosity(golog.Warning | golog.Error) logger.SetFlags(0) // logger.Info won't print to the console because it is below loglevel "warn" logger.Info(ctx, fmt.Sprintf("%s", "Info")) // logger.Warning and log.Error will both get printed logger.Warning(ctx, fmt.Sprintf("%s %d", "Warn", 1)) logger.Error(ctx, fmt.Sprintf("%s %d", "Error", 666)) }
Output: �[33;1mWARN: Warn 1�[0m �[31;1mERROR: Error 666�[0m
Example (Second) ¶
package main import ( "context" "fmt" "github.com/vardius/golog" ) func main() { ctx := context.Background() logger := golog.NewConsoleLogger() logger.SetVerbosity(golog.Warning | golog.Error) logger.SetFlags(0) // logger.Info won't print to the console because it is below loglevel "warn" logger.Info(ctx, fmt.Sprintf("%s", "Info")) // logger.Warning and log.Error will both get printed logger.Warning(ctx, fmt.Sprintf("%s %d", "Warn", 1)) logger.Error(ctx, fmt.Sprintf("%s %d", "Error", 666)) }
Output: �[33;1mWARN: Warn 1�[0m �[31;1mERROR: Error 666�[0m
func NewFileLogger ¶ added in v1.0.1
NewFileLogger returns a Logger that writes to the file.
type Verbose ¶ added in v1.0.3
type Verbose uint8
Verbose levels
const ( Critical Verbose = 1 << iota // Critical verbose level Error // Error verbose level Warning // Warning verbose level Info // Info verbose level Debug // Debug verbose level Disabled // Disabled verbose level disables logger messages. will override all other flags, fatal will still call os.Exit(1) )
Verbose level flags
Click to show internal directories.
Click to hide internal directories.