@@ -18,9 +18,9 @@ Add this snippet in your main function
18
18
19
19
```
20
20
go track.Track(
21
- track.WithConfigTag("service" , "your service name"),
22
- track.WithConfigTag("projectName" , "your project name"),
23
- track.WithConfigTag("accessToken" , "your API key "),
21
+ track.WithConfigTag(track.Service , "your service name"),
22
+ track.WithConfigTag(track.Project , "your project name"),
23
+ track.WithConfigTag(track.Token , "your API token "),
24
24
)
25
25
```
26
26
## Import Application logs
@@ -29,23 +29,22 @@ go track.Track(
29
29
30
30
| Logger | Version | Minimal go version |
31
31
| --------------------------------| ---------| --------------------|
32
- | [ mwotelslog] ( mwotelslog ) | v0.1 .0 | 1.21 |
33
- | [ mwotelzap] ( mwotelzap ) | v0.2 .1 | 1.20 |
32
+ | [ mwotelslog] ( https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/bridges/otelslog ) | v0.2 .0 | 1.21 |
33
+ | [ mwotelzap] ( https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/bridges/otelzap ) | v0.0 .1 | 1.20 |
34
34
| [ mwotelzerolog] ( mwotelzerolog ) | v0.0.1 | 1.20 |
35
+ | [ mwotellogrus] ( https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/bridges/otellogrus ) | v0.2.0 | 1.21 |
35
36
36
37
### ` log/slog `
37
38
``` go
38
39
config , _ := track.Track (
39
- track.WithConfigTag (" service " , " your service name" ),
40
- track.WithConfigTag (" projectName " , " your project name" ),
40
+ track.WithConfigTag (track. Service , " your service name" ),
41
+ track.WithConfigTag (track. Project , " your project name" ),
41
42
)
42
43
43
- logger := slog.New (
44
- // use slog-multi if logging in console is needed with stderr handler.
45
- sm.Fanout (
46
- slog.NewTextHandler (os.Stderr , &slog.HandlerOptions {}),
47
- mwotelslog.NewMWOtelHandler (config, mwotelslog.HandlerOptions {}),
48
- ),
44
+ logger := mwotelslog.NewMWOTelLogger (
45
+ config,
46
+ mwotelslog.WithDefaultConsoleLog (), // to enable console log
47
+ mwotelslog.WithName (" otelslog" ),
49
48
)
50
49
// configure default logger
51
50
slog.SetDefault (logger)
@@ -54,59 +53,70 @@ Add NewMWOtelHandler with config from tracker config.
54
53
55
54
This will start collecting the application log from slog and standard library logs.
56
55
57
- See [ mwotelslog] ( ) features sample for more details.
56
+ See [ mwotelslog] ( https://github.com/middleware-labs/demo-apm/tree/master/golang/features ) features sample for more details.
57
+
58
58
### ` zap `
59
59
``` go
60
- config , _ := track.Track (
61
- track.WithConfigTag (" service" , " your service name" ),
62
- track.WithConfigTag (" projectName" , " your project name" ),
60
+ config , _ := track.Track (
61
+ track.WithConfigTag (track.Service , " your service name" ),
62
+ track.WithConfigTag (track.Project , " your project name" ),
63
+ track.WithConfigTag (track.Token , " your token" ),
63
64
)
64
65
65
- logger := zap.New (zapcore.NewTee (consoleCore, fileCore, mwotelzap.NewMWOtelCore (config)))
66
+ logger := zap.New (zapcore.NewTee (consoleCore, fileCore, mwotelzap.NewMWOTelCore (config, mwotelzap. WithName ( " otelzaplog " ) )))
66
67
zap.ReplaceGlobals (logger)
67
68
```
68
- Add NewMWOtelCore with config from tracker config.
69
+ Add NewMWOTelCore with config from tracker config.
69
70
70
71
This will start collecting the application log from zap.
71
72
72
- See [ mwotelzap] ( ) features sample for more details.
73
+ See [ mwotelzap] ( https://github.com/middleware-labs/demo-apm/tree/master/golang/features ) features sample for more details.
73
74
74
75
### ` zerolog `
75
76
``` go
76
77
config , _ := track.Track (
77
- track.WithConfigTag (" service " , " your service name" ),
78
- track.WithConfigTag (" projectName " , " your project name" ),
78
+ track.WithConfigTag (track. Service , " your service name" ),
79
+ track.WithConfigTag (track. Project , " your project name" ),
79
80
)
80
- hook := mwotelzerolog.NewMWOtelHook (config)
81
+ hook := mwotelzerolog.NewMWOTelHook (config)
81
82
logger := log.Hook (hook)
82
83
```
83
- Add NewMWOtelHook with config from tracker config.
84
+ Add NewMWOTelHook with config from tracker config.
84
85
85
86
This will start collecting the application log from zerolog.
86
87
87
- See [ mwotelzerolog] ( ) features sample for more details.
88
+ See [ mwotelzerolog] ( https://github.com/middleware-labs/demo-apm/tree/master/golang/features ) features sample for more details.
88
89
89
- ## Collect Application Profiling Data
90
+ ### ` logrus `
91
+ ``` go
92
+ config , _ := track.Track (
93
+ track.WithConfigTag (track.Service , " your service name" ),
94
+ track.WithConfigTag (track.Project , " your project name" ),
95
+ )
90
96
91
- If you also want to collect profiling data for your application,
92
- simply add this one config to your track.Track() call
97
+ logHook := otellog.NewMWOTelHook (config, otellog.WithLevels (log.AllLevels ), otellog.WithName (" otellogrus" ))
93
98
94
- ``` go
95
- track.WithConfigTag (" accessToken" , " {ACCOUNT_KEY}" )
99
+ // add hook in logrus
100
+ log.AddHook (logHook)
101
+ // set formatter if required
102
+ log.SetFormatter (&log.JSONFormatter {})
96
103
```
104
+ Add NewMWOTelHook with config from tracker config.
97
105
98
- ## Add custom logs
106
+ This will start collecting the application log from logrus.
99
107
100
- ``` go
101
- " github.com/middleware-labs/golang-apm/logger"
108
+ See [ mwotellogrus] ( https://github.com/middleware-labs/demo-apm/tree/master/golang/features ) features sample for more details.
102
109
103
- ....
110
+ ## Collect Application Profiling Data
104
111
105
- logger.Error (" Error" )
106
- logger.Info (" Info" )
107
- logger.Warn (" Warn" )
112
+ If you also want to collect profiling data for your application,
113
+ simply add this one config to your track.Track() call
114
+
115
+ ``` go
116
+ track.WithConfigTag (track.Token , " {ACCOUNT_KEY}" ),
108
117
```
109
- # Custom Logs
118
+
119
+ ## Custom Logs
110
120
111
121
To ingest custom logs into Middleware, you can use library functions as given below.
112
122
@@ -121,7 +131,7 @@ logger.Warn("Warn")
121
131
122
132
```
123
133
124
- # Stack Error
134
+ ## Stack Error
125
135
126
136
If you want to record exception in traces then you can use track.RecordError(ctx,error) method.
127
137
0 commit comments