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
|
||||
|
||||
```
|
||||
Copyright 2023 Martin Riedl
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue