docs: some new code samples

This commit is contained in:
Martin Riedl 2024-01-04 00:09:44 +01:00
parent e20fe3c887
commit 93be16f6b8
Signed by: martinr92
GPG key ID: FB68DA65516A804C

View file

@ -1,4 +1,55 @@
# goLog
GoLog is a simple logging framework for golang.
## Getting Started
```golang
import log "gitlab.com/martinr92/golog"
func main(){
log.Default.Info("My First Info Message")
}
```
## Multiple Log Instance
Create a new log instance (instead of using the `Default`).
```golang
import log "gitlab.com/martinr92/golog"
var myLog := log.NewLoggerDefault()
myLog.Info("My First Info Message")
```
## Outputs / Formatter / Printer
- `Formatter` defines the output format (e.g. Key/Value or JSON)
- `Printer` defines the message output location (e.g. stdout or file)
- `Output` is a combination of `Formatter` and `Printer`
The following sample creates 2 outputs. The first sends a key/value format to stdout. The second writes messages as JSON format to stdout.
```golang
import log "gitlab.com/martinr92/golog"
var output1 := NewOutput(log.LevelInfo, NewFormatterKeyValue(), NewPrinterStdout()
var output2 := NewOutput(log.LevelError, NewFormatterJSON(), NewPrinterStdout())
var myLog := log.NewLogger(
[]*Output{output1, output2}
)
myLog.Info("My First Info Message")
```
## Custom Formatter / Printer
If you need a special `Formatter` or `Printer`: simply implement the Interface (same name) and assign it to an `Output`.
# License # License
``` ```
Copyright 2023 Martin Riedl Copyright 2023 Martin Riedl