feat: Add basic structured logger

This commit is contained in:
Felicitas Pojtinger
2021-12-28 21:05:43 +01:00
parent 7befc67ffc
commit 6837f6bc05
19 changed files with 245 additions and 103 deletions

View File

@@ -27,15 +27,15 @@ func headerEventToCSV(event *config.HeaderEvent) []string {
return append([]string{event.Type, fmt.Sprintf("%v", event.Indexed)}, headerToCSV(event.Header)...)
}
type Logger struct {
type CSVLogger struct {
n int
}
func NewLogger() *Logger {
return &Logger{}
func NewCSVLogger() *CSVLogger {
return &CSVLogger{}
}
func (l *Logger) PrintHeader(hdr *models.Header) {
func (l *CSVLogger) PrintHeader(hdr *models.Header) {
w := csv.NewWriter(os.Stdout)
if l.n <= 0 {
@@ -49,7 +49,7 @@ func (l *Logger) PrintHeader(hdr *models.Header) {
l.n++
}
func (l *Logger) PrintHeaderEvent(event *config.HeaderEvent) {
func (l *CSVLogger) PrintHeaderEvent(event *config.HeaderEvent) {
w := csv.NewWriter(os.Stdout)
if l.n <= 0 {

37
internal/logging/json.go Normal file
View File

@@ -0,0 +1,37 @@
package logging
import (
"log"
golog "github.com/fclairamb/go-log"
)
type JSONLogger struct{}
func NewJSONLogger() *JSONLogger {
return &JSONLogger{}
}
func (l JSONLogger) Trace(event string, keyvals ...interface{}) {
log.Println("TRACE", event, keyvals)
}
func (l JSONLogger) Debug(event string, keyvals ...interface{}) {
log.Println("DEBUG", event, keyvals)
}
func (l JSONLogger) Info(event string, keyvals ...interface{}) {
log.Println("INFO", event, keyvals)
}
func (l JSONLogger) Warn(event string, keyvals ...interface{}) {
log.Println("WARN", event, keyvals)
}
func (l JSONLogger) Error(event string, keyvals ...interface{}) {
log.Println("ERROR", event, keyvals)
}
func (l JSONLogger) With(keyvals ...interface{}) golog.Logger {
return l
}