File tree Expand file tree Collapse file tree 5 files changed +57
-68
lines changed
Expand file tree Collapse file tree 5 files changed +57
-68
lines changed Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ package main
33import (
44 "flag"
55 "fmt"
6+ "log"
67 "net/http"
78 "os"
89 "strconv"
@@ -11,8 +12,7 @@ import (
1112 gopher "github.com/friendsofgo/gopherapi/pkg"
1213 "github.com/friendsofgo/gopherapi/pkg/adding"
1314 "github.com/friendsofgo/gopherapi/pkg/fetching"
14- "github.com/friendsofgo/gopherapi/pkg/log"
15- "github.com/friendsofgo/gopherapi/pkg/log/hooks"
15+ "github.com/friendsofgo/gopherapi/pkg/log/logrus"
1616 "github.com/friendsofgo/gopherapi/pkg/modifying"
1717 "github.com/friendsofgo/gopherapi/pkg/removing"
1818 "github.com/friendsofgo/gopherapi/pkg/server"
@@ -41,7 +41,7 @@ func main() {
4141 gophers = sample .Gophers
4242 }
4343
44- logger := log .NewLogger (hooks . NewServerInformationHook () )
44+ logger := logrus .NewLogger ()
4545
4646 repo := inmem .NewRepository (gophers )
4747 fetchingService := fetching .NewService (repo , logger )
@@ -61,5 +61,5 @@ func main() {
6161 )
6262
6363 fmt .Println ("The gopher server is on tap now:" , httpAddr )
64- logger .Fatal (http .ListenAndServe (httpAddr , s .Router ()))
64+ log .Fatal (http .ListenAndServe (httpAddr , s .Router ()))
6565}
Original file line number Diff line number Diff line change @@ -15,11 +15,11 @@ type Service interface {
1515
1616type service struct {
1717 repository gopher.Repository
18- logger * log.Logger
18+ logger log.Logger
1919}
2020
2121// NewService creates a fetching service with the necessary dependencies
22- func NewService (repository gopher.Repository , logger * log.Logger ) Service {
22+ func NewService (repository gopher.Repository , logger log.Logger ) Service {
2323 return & service {repository , logger }
2424}
2525
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -2,39 +2,10 @@ package log
22
33import (
44 "context"
5-
6- "github.com/sirupsen/logrus"
7- )
8-
9- // Event stores messages to log later, from our standard interface
10- type Event struct {
11- id string
12- message string
13- }
14-
15- // Logger centralize log messages format
16- type Logger struct {
17- * logrus.Logger
18- }
19-
20- // NewLogger initializes the standard logger
21- func NewLogger (hooks ... logrus.Hook ) * Logger {
22- logger := logrus .New ()
23-
24- for _ , hook := range hooks {
25- logger .AddHook (hook )
26- }
27-
28- return & Logger {logger }
29- }
30-
31- // Declare variables to store log messages as new Events
32- var (
33- unexpectedErrorMessage = Event {"01DK2XFX9PQ85ZPZ5CP68P108Y" , "Unexpected error: %v" }
345)
356
36- // ElementNotFound is a standard error message for elements not found
37- func ( l * Logger ) UnexpectedError ( ctx context. Context , err error ) {
38- l . WithContext ( ctx ). WithField ( "logid" , unexpectedErrorMessage . id ).
39- Errorf ( unexpectedErrorMessage . message , err )
7+ // Logger determine the way to centralize log messages format
8+ type Logger interface {
9+ // UnexpectedError is a standard error message for unexpected errors
10+ UnexpectedError ( ctx context. Context , err error )
4011}
Original file line number Diff line number Diff line change 1+ package logrus
2+
3+ import (
4+ "context"
5+
6+ "github.com/sirupsen/logrus"
7+
8+ "github.com/friendsofgo/gopherapi/pkg/log"
9+ "github.com/friendsofgo/gopherapi/pkg/server"
10+ )
11+
12+ // Event stores messages to log later, from our standard interface
13+ type Event struct {
14+ id string
15+ message string
16+ }
17+
18+ // Logger centralize log messages format
19+ type logger struct {
20+ * logrus.Logger
21+ }
22+
23+ // NewLogger initializes the standard logger
24+ func NewLogger (hooks ... logrus.Hook ) log.Logger {
25+ return & logger {logrus .New ()}
26+ }
27+
28+ // Declare variables to store log messages as new Events
29+ var (
30+ unexpectedErrorMessage = Event {"01DK2XFX9PQ85ZPZ5CP68P108Y" , "Unexpected error: %v" }
31+ )
32+
33+ func (l * logger ) UnexpectedError (ctx context.Context , err error ) {
34+ l .WithDefaultFields (ctx ).WithField ("logid" , unexpectedErrorMessage .id ).
35+ Errorf (unexpectedErrorMessage .message , err )
36+ }
37+
38+ func (l * logger ) WithDefaultFields (ctx context.Context ) * logrus.Entry {
39+ hostname , _ := server .Name (ctx )
40+ httpAddr , _ := server .HttpAddr (ctx )
41+
42+ return l .WithFields (logrus.Fields {
43+ "hostname" : hostname ,
44+ "httpAddr" : httpAddr ,
45+ })
46+
47+ }
You can’t perform that action at this time.
0 commit comments