feat: mv internal/pkg to root [skip ci]
This commit is contained in:
		
							
								
								
									
										50
									
								
								pkg/logging/pgxlogrus/pgxlogrus.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								pkg/logging/pgxlogrus/pgxlogrus.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| package pgxlogrus | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/jackc/pgx/v4" | ||||
| 	"github.com/sirupsen/logrus" | ||||
| ) | ||||
|  | ||||
| type pgxLogger struct { | ||||
| 	logger logrus.FieldLogger | ||||
| } | ||||
|  | ||||
| func New(logger logrus.FieldLogger) *pgxLogger { | ||||
| 	return &pgxLogger{ | ||||
| 		logger: logger, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func (lg pgxLogger) Log(ctx context.Context, level pgx.LogLevel, msg string, data map[string]interface{}) { | ||||
| 	lg.logger.WithFields(lg.fieldsData(data)).Info(msg) | ||||
| } | ||||
|  | ||||
| func (lg pgxLogger) fieldsData(data map[string]interface{}) logrus.Fields { | ||||
| 	fields := make(logrus.Fields) | ||||
| 	if v, ok := data["time"]; ok && v != nil { | ||||
| 		fields["cost"] = v | ||||
| 		fields["costString"] = fmt.Sprintf("%v", time.Duration(v.(time.Duration))) | ||||
| 	} | ||||
|  | ||||
| 	if v, ok := data["sql"]; ok { | ||||
| 		fields["SQL"] = v | ||||
| 	} | ||||
|  | ||||
| 	if v, ok := data["pid"]; ok { | ||||
| 		fields["PID"] = v | ||||
| 	} | ||||
|  | ||||
| 	if v, ok := data["args"]; ok { | ||||
| 		fields["args"] = v | ||||
| 	} | ||||
|  | ||||
| 	if v, ok := data["rowCount"]; ok { | ||||
| 		fields["rowCount"] = v | ||||
| 	} | ||||
|  | ||||
| 	return fields | ||||
| } | ||||
		Reference in New Issue
	
	Block a user