@@ -36,7 +36,6 @@ import "github.com/vuduongtp/go-logadapter"
36
36
## Basic Example
37
37
View full example [ here] ( https://github.com/vuduongtp/go-logadapter/blob/main/test/test.go )
38
38
### Create new simple logger
39
- ** Log with JSON format**
40
39
``` go
41
40
logger := logadapter.NewLogger ()
42
41
logger.Debug (" test" )
@@ -46,15 +45,36 @@ logger.Debug("test")
46
45
{"level":"debug","msg":"test","time":"2023-03-05 20:47:28.369163"}
47
46
```
48
47
### Create new logger with config
48
+ ** Log to file**
49
+ ``` 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"}
69
+ ```
49
70
** Log with pertty JSON format**
50
71
``` go
51
- config := &logadapter.Config {
52
- LogLevel : logadapter.DebugLevel ,
53
- LogFormat : logadapter.PrettyJSONFormat ,
54
- TimestampFormat : time.RFC3339Nano ,
55
- IsUseLogFile : false ,
56
- }
57
- logger := logadapter.NewLoggerWithConfig (config)
72
+ logger := logadapter.NewLoggerWithConfig (&logadapter.Config {
73
+ LogLevel : logadapter.DebugLevel ,
74
+ LogFormat : logadapter.PrettyJSONFormat ,
75
+ TimestampFormat : time.RFC3339Nano ,
76
+ IsUseLogFile : false ,
77
+ })
58
78
logger.Debug (" test" )
59
79
```
60
80
```
@@ -71,13 +91,12 @@ logger.Debug("test")
71
91
```
72
92
** Log with text format**
73
93
``` go
74
- config := &logadapter.Config {
75
- LogLevel : logadapter.DebugLevel ,
76
- LogFormat : logadapter.TextFormat ,
77
- TimestampFormat : time.RFC3339Nano ,
78
- IsUseLogFile : false ,
79
- }
80
- logger := logadapter.NewLoggerWithConfig (config)
94
+ logger := logadapter.NewLoggerWithConfig (&logadapter.Config {
95
+ LogLevel : logadapter.DebugLevel ,
96
+ LogFormat : logadapter.TextFormat ,
97
+ TimestampFormat : time.RFC3339Nano ,
98
+ IsUseLogFile : false ,
99
+ })
81
100
logger.Debug (" test" )
82
101
```
83
102
```
@@ -86,42 +105,26 @@ time="2023-03-13T15:12:06.700763+07:00" level=debug msg=test
86
105
```
87
106
### Set logadapter to gorm logger
88
107
``` go
89
- config := &logadapter.Config {
90
- LogLevel : logadapter.DebugLevel ,
91
- LogFormat : logadapter.JSONFormat ,
92
- IsUseLogFile : true ,
93
- }
94
- logger := logadapter.NewLoggerWithConfig (config)
95
-
96
108
// * set log adapter for gorm logging
97
109
db , err := gorm.Open (sqlite.Open (" test.db" ), &gorm.Config {})
98
110
if err != nil {
99
- panic (" failed to connect database" )
111
+ panic (" failed to connect database" )
100
112
}
101
- db.Logger : = logadapter.NewGormLogAdapter (logger )
113
+ db.Logger = logadapter.NewGormLogAdapter (logadapter. NewLogger () )
102
114
```
103
115
### Set logadapter to Echo
104
116
``` go
105
- config := &logadapter.Config {
106
- LogLevel : logadapter.DebugLevel ,
107
- LogFormat : logadapter.JSONFormat ,
108
- IsUseLogFile : true ,
109
- }
110
- logger := logadapter.NewLoggerWithConfig (config)
111
-
112
117
e := echo.New ()
113
118
// * set log adapter for echo instance
114
- e.Logger = logadapter.NewEchoLogAdapter (logger )
119
+ e.Logger = logadapter.NewEchoLogAdapter (logadapter. NewLogger () )
115
120
116
- // * use log adapter middleware for echo web framework
121
+ // * use logger middleware for echo web framework
117
122
e.Use (logadapter.NewEchoLoggerMiddleware ())
118
123
119
124
// * log with echo context for log request_id
120
125
echoContext := e.AcquireContext () // example echo context, should be replaced with echo.Request().Context()
121
126
logadapter.LogWithEchoContext (echoContext, " this is message" , logadapter.LogTypeDebug , map [string ]interface {}{
122
- " field_name" : " this is log field" ,
123
- }) // log message with extend field
124
- logadapter.LogWithEchoContext (echoContext, " this is message 2" , logadapter.LogTypeError ) // log message error
125
- logadapter.LogWithEchoContext (echoContext, " this is message 3" ) // log message debug
127
+ " field_name" : " this is log field" ,
128
+ })
126
129
```
127
130
** If you really want to help us, simply Fork the project and apply for Pull Request. Thanks.**
0 commit comments