@@ -29,102 +29,86 @@ It's a piece of code that sits between the application and the logging package a
29
29
```
30
30
$ go get -u github.com/vuduongtp/go-logadapter
31
31
```
32
- ## Import to go
32
+ ## Import
33
33
``` go
34
34
import " github.com/vuduongtp/go-logadapter"
35
35
```
36
36
## Basic Example
37
37
View full example [ here] ( https://github.com/vuduongtp/go-logadapter/blob/main/test/test.go )
38
- ### Create new simple logger
38
+ ### Simple example
39
39
``` go
40
- logger := logadapter.NewLogger ()
41
- logger.Debug (" test" )
40
+ logadapter.Debug (" debug message" )
41
+ logadapter.Error (" error message" )
42
+ logadapter.Warn (" warn message" )
42
43
```
43
44
```
44
- {"level":"info","msg":"Logger instance has been successfully initialized","time":"2023-03-05 20:47:28.369102"}
45
- {"level":"debug","msg":"test","time":"2023-03-05 20:47:28.369163"}
45
+ {"level":"debug","msg":"debug message","time":"2023-03-17 00:10:17.18915"}
46
+ {"level":"error","msg":"error message","time":"2023-03-17 00:10:17.18924"}
47
+ {"level":"warning","msg":"warn message","time":"2023-03-17 00:10:17.18924"}
46
48
```
47
49
### Create new logger with config
48
- ** Log to file**
49
50
``` go
50
- logger := logadapter.NewLoggerWithConfig (&logadapter.Config {
51
- LogLevel : logadapter.DebugLevel ,
52
- LogFormat : logadapter.JSONFormat ,
53
- TimestampFormat : time.RFC3339Nano ,
54
- IsUseLogFile : true ,
55
- FileConfig : &logadapter.FileConfig {
56
- Filename: " logs" ,
57
- MaxSize: 50 ,
58
- MaxBackups: 10 ,
59
- MaxAge: 30 ,
60
- IsCompress: false ,
61
- IsUseLocalTime: false ,
62
- },
63
- })
64
- logger.Debug (" test" )
65
- ```
66
- ```
67
- {"level":"info","msg":"Logger instance has been successfully initialized","time":"2023-03-05 20:47:28.369102"}
68
- {"level":"debug","msg":"test","time":"2023-03-05 20:47:28.369163"}
51
+ logadapter.SetLogger (logadapter.NewWithConfig (&logadapter.Config {
52
+ LogLevel: logadapter.DebugLevel ,
53
+ LogFormat: logadapter.JSONFormat ,
54
+ TimestampFormat: time.RFC3339Nano ,
55
+ IsUseLogFile: true ,
56
+ FileConfig: &logadapter.FileConfig {
57
+ Filename: " logs" ,
58
+ MaxSize: 50 ,
59
+ MaxBackups: 10 ,
60
+ MaxAge: 30 ,
61
+ IsCompress: false ,
62
+ IsUseLocalTime: false ,
63
+ },
64
+ }))
65
+ logadapter.Debug (" test" )
66
+ ```
67
+ ```
68
+ {"level":"debug","msg":"test","time":"2023-03-17T00:14:56.763181+07:00"}
69
69
```
70
70
** Log with pertty JSON format**
71
71
``` go
72
- logger := logadapter.NewLoggerWithConfig (&logadapter.Config {
73
- LogLevel : logadapter.DebugLevel ,
74
- LogFormat : logadapter.PrettyJSONFormat ,
75
- TimestampFormat : time.RFC3339Nano ,
76
- IsUseLogFile : false ,
77
- })
78
- logger.Debug (" test" )
72
+ logadapter.SetFormatter (logadapter.PrettyJSONFormat )
73
+ logadapter.Debug (" message" )
79
74
```
80
75
```
81
- {
82
- "level": "info",
83
- "msg": "Logger instance has been successfully initialized",
84
- "time": "2023-03-13T15:10:57.02729+07:00"
85
- }
86
76
{
87
77
"level": "debug",
88
- "msg": "test ",
89
- "time": "2023-03-13T15:10:57.027391+07:00 "
78
+ "msg": "message ",
79
+ "time": "2023-03-17 00:03:07.14439 "
90
80
}
91
81
```
92
82
** Log with text format**
93
83
``` go
94
- logger := logadapter.NewLoggerWithConfig (&logadapter.Config {
95
- LogLevel : logadapter.DebugLevel ,
96
- LogFormat : logadapter.TextFormat ,
97
- TimestampFormat : time.RFC3339Nano ,
98
- IsUseLogFile : false ,
99
- })
100
- logger.Debug (" test" )
84
+ logadapter.SetFormatter (logadapter.TextFormat )
85
+ logadapter.Debug (" message" )
101
86
```
102
87
```
103
- time="2023-03-13T15:12:06.700689+07:00" level=info msg="Logger instance has been successfully initialized"
104
- time="2023-03-13T15:12:06.700763+07:00" level=debug msg=test
88
+ time="2023-03-17 00:03:53.74972" level=debug msg=message
105
89
```
106
- ### Set logadapter to gorm logger
90
+ ### Set gorm logger
107
91
``` go
108
92
// * set log adapter for gorm logging
109
93
db , err := gorm.Open (sqlite.Open (" test.db" ), &gorm.Config {})
110
94
if err != nil {
111
95
panic (" failed to connect database" )
112
96
}
113
- db.Logger = logadapter.NewGormLogAdapter (logadapter. NewLogger () )
97
+ db.Logger = logadapter.NewGormLogger ( )
114
98
```
115
- ### Set logadapter to Echo
99
+ ### Set echo logger
116
100
``` go
117
101
e := echo.New ()
118
102
// * set log adapter for echo instance
119
- e.Logger = logadapter.NewEchoLogAdapter (logadapter. NewLogger () )
103
+ e.Logger = logadapter.NewEchoLogger ( )
120
104
121
- // * use logger middleware for echo web framework
105
+ // * use log adapter middleware for echo web framework
122
106
e.Use (logadapter.NewEchoLoggerMiddleware ())
123
107
124
108
// * log with echo context for log request_id
125
109
echoContext := e.AcquireContext () // example echo context, should be replaced with echo.Request().Context()
126
110
logadapter.LogWithEchoContext (echoContext, " this is message" , logadapter.LogTypeDebug , map [string ]interface {}{
127
111
" field_name" : " this is log field" ,
128
- })
112
+ }) // log message with extend field
129
113
```
130
114
** If you really want to help us, simply Fork the project and apply for Pull Request. Thanks.**
0 commit comments