docs: some new code samples
This commit is contained in:
parent
e20fe3c887
commit
93be16f6b8
1 changed files with 51 additions and 0 deletions
51
README.md
51
README.md
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue