Skip to content

Commit 95d9c8b

Browse files
committed
[LOGGER] Add options
1 parent cf2d6c9 commit 95d9c8b

File tree

5 files changed

+48
-2
lines changed

5 files changed

+48
-2
lines changed

default.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package logger
22

3-
import "log"
3+
import (
4+
"log"
5+
6+
"github.com/graphmetrics/logger-go/options"
7+
)
48

59
type defaultLogger struct {
610
}
@@ -15,7 +19,6 @@ func (*defaultLogger) Debug(msg string, metadata map[string]interface{}) {
1519

1620
func (*defaultLogger) Info(msg string, metadata map[string]interface{}) {
1721
log.Printf("[INFO] %s %#v", msg, metadata)
18-
1922
}
2023

2124
func (*defaultLogger) Warn(msg string, metadata map[string]interface{}) {
@@ -25,3 +28,7 @@ func (*defaultLogger) Warn(msg string, metadata map[string]interface{}) {
2528
func (*defaultLogger) Error(msg string, metadata map[string]interface{}) {
2629
log.Printf("[ERROR] %s %#v", msg, metadata)
2730
}
31+
32+
func (*defaultLogger) WithOptions(...options.LoggerOption) Logger {
33+
return &defaultLogger{}
34+
}

interface.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package logger
22

3+
import "github.com/graphmetrics/logger-go/options"
4+
35
type Logger interface {
46
Debug(msg string, metadata map[string]interface{})
57
Info(msg string, metadata map[string]interface{})
68
Warn(msg string, metadata map[string]interface{})
79
Error(msg string, metadata map[string]interface{})
10+
WithOptions(...options.LoggerOption) Logger
811
}

options/caller.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package options
2+
3+
type CallerSkipOffset struct {
4+
Offset int
5+
}
6+
7+
var _ LoggerOption = CallerSkipOffset{}
8+
9+
func (c CallerSkipOffset) Parameter() string {
10+
return "CallerSkipOffset"
11+
}
12+
13+
func (c CallerSkipOffset) Value() interface{} {
14+
return c.Offset
15+
}

options/interface.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package options
2+
3+
type LoggerOption interface {
4+
Parameter() string
5+
Value() interface{}
6+
}

options/name.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package options
2+
3+
type Named struct {
4+
Name string
5+
}
6+
7+
var _ LoggerOption = Named{}
8+
9+
func (c Named) Parameter() string {
10+
return "Named"
11+
}
12+
13+
func (c Named) Value() interface{} {
14+
return c.Name
15+
}

0 commit comments

Comments
 (0)