@@ -20,16 +20,16 @@ package gocql_test
20
20
21
21
import (
22
22
"context"
23
- "fmt"
24
23
"log"
25
24
"os"
26
25
27
- gocql "github.com/apache/cassandra-gocql-driver/v2"
28
- "github.com/apache/cassandra-gocql-driver/v2/gocqlzap"
29
- "github.com/apache/cassandra-gocql-driver/v2/gocqlzerolog"
30
26
"github.com/rs/zerolog"
31
27
"go.uber.org/zap"
32
28
"go.uber.org/zap/zapcore"
29
+
30
+ gocql "github.com/apache/cassandra-gocql-driver/v2"
31
+ "github.com/apache/cassandra-gocql-driver/v2/gocqlzap"
32
+ "github.com/apache/cassandra-gocql-driver/v2/gocqlzerolog"
33
33
)
34
34
35
35
// Example_structuredLogging demonstrates the new structured logging features
@@ -51,7 +51,7 @@ func Example_structuredLogging() {
51
51
config := zap .NewProductionConfig ()
52
52
config .EncoderConfig .TimeKey = "timestamp"
53
53
config .EncoderConfig .EncodeTime = zapcore .ISO8601TimeEncoder // Human-readable timestamp format
54
-
54
+
55
55
zapLogger , err := config .Build ()
56
56
if err != nil {
57
57
log .Fatal (err )
@@ -60,7 +60,7 @@ func Example_structuredLogging() {
60
60
61
61
// Create base logger with service identifier
62
62
baseLogger := zapLogger .With (zap .String ("service" , "gocql-app" ))
63
-
63
+
64
64
// Create application and driver loggers with component identifiers
65
65
appLogger := baseLogger .With (zap .String ("component" , "app" ))
66
66
driverLogger := baseLogger .With (zap .String ("component" , "gocql-driver" ))
@@ -75,7 +75,7 @@ func Example_structuredLogging() {
75
75
zapCluster := gocql .NewCluster ("localhost:9042" )
76
76
zapCluster .Keyspace = "example"
77
77
zapCluster .Logger = gocqlZapLogger
78
-
78
+
79
79
zapSession , err := zapCluster .CreateSession ()
80
80
if err != nil {
81
81
appLogger .Fatal ("Failed to create session" , zap .Error (err ))
@@ -104,7 +104,7 @@ func Example_structuredLogging() {
104
104
iter := zapSession .Query ("SELECT id, value FROM example.log_demo WHERE id = ?" ).
105
105
Bind (1 ).
106
106
IterContext (ctx )
107
-
107
+
108
108
if iter .Scan (& id , & value ) {
109
109
// Successfully scanned the row
110
110
}
@@ -122,20 +122,20 @@ func Example_structuredLogging() {
122
122
// Example 2: Using Zerolog integration
123
123
// Create a production Zerolog logger with structured JSON output
124
124
// Production config includes timestamps, service info, and appropriate log level
125
- baseLogger := zerolog .New (os .Stdout ).
125
+ baseZerologLogger := zerolog .New (os .Stdout ).
126
126
Level (zerolog .InfoLevel ).
127
127
With ().
128
128
Timestamp ().
129
129
Str ("service" , "gocql-app" ).
130
130
Logger ()
131
131
132
132
// Create application logger with component identifier
133
- appZerologLogger := baseLogger .With ().
133
+ appZerologLogger := baseZerologLogger .With ().
134
134
Str ("component" , "app" ).
135
135
Logger ()
136
136
137
137
// Create driver logger with component identifier
138
- driverZerologLogger := baseLogger .With ().
138
+ driverZerologLogger := baseZerologLogger .With ().
139
139
Str ("component" , "gocql-driver" ).
140
140
Logger ()
141
141
@@ -145,12 +145,12 @@ func Example_structuredLogging() {
145
145
Msg ("Starting Zerolog structured logging example" )
146
146
147
147
// Create gocql logger from driver logger
148
- gocqlZerologLogger := gocqlzerolog .Wrap ( & driverZerologLogger )
148
+ gocqlZerologLogger := gocqlzerolog .NewUnnamedZerologLogger ( driverZerologLogger )
149
149
150
150
zerologCluster := gocql .NewCluster ("localhost:9042" )
151
151
zerologCluster .Keyspace = "example"
152
152
zerologCluster .Logger = gocqlZerologLogger
153
-
153
+
154
154
zerologSession , err := zerologCluster .CreateSession ()
155
155
if err != nil {
156
156
appZerologLogger .Fatal ().Err (err ).Msg ("Failed to create session" )
@@ -179,7 +179,7 @@ func Example_structuredLogging() {
179
179
iter = zerologSession .Query ("SELECT id, value FROM example.log_demo WHERE id = ?" ).
180
180
Bind (2 ).
181
181
IterContext (ctx )
182
-
182
+
183
183
if iter .Scan (& id , & value ) {
184
184
// Successfully scanned the row
185
185
}
@@ -195,8 +195,6 @@ func Example_structuredLogging() {
195
195
Str ("record_value" , value ).
196
196
Msg ("Database operation completed successfully" )
197
197
198
-
199
-
200
198
// Example 1 - Zap structured logging output (JSON format):
201
199
// {"level":"info","timestamp":"2021-12-31T12:00:00.000Z","service":"gocql-app","component":"app","msg":"Starting Zap structured logging example","example":"structured_logging","logger_type":"zap"}
202
200
// {"level":"info","timestamp":"2021-12-31T12:00:00.100Z","service":"gocql-app","component":"gocql-driver","msg":"Discovered protocol version.","protocol_version":4}
@@ -219,4 +217,3 @@ func Example_structuredLogging() {
219
217
// {"level":"info","service":"gocql-app","component":"app","time":"2021-12-31T12:00:12Z","operation":"select","record_id":2,"message":"Querying data from database"}
220
218
// {"level":"info","service":"gocql-app","component":"app","time":"2021-12-31T12:00:13Z","operation":"select","record_id":2,"record_value":"zerolog logging demo","message":"Database operation completed successfully"}
221
219
}
222
-
0 commit comments