Skip to content

Commit d45bcbd

Browse files
committed
refactor: create zap field log function and update the use on entire project
1 parent 8e76739 commit d45bcbd

File tree

7 files changed

+17
-23
lines changed

7 files changed

+17
-23
lines changed

internal/core/crawler/crawler_service.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import (
99
"github.com/hiago-balbino/web-crawler/internal/core/pager"
1010
"github.com/hiago-balbino/web-crawler/internal/pkg/logger"
1111
"github.com/hiago-balbino/web-crawler/internal/pkg/metrics"
12-
"go.uber.org/zap"
13-
"go.uber.org/zap/zapcore"
1412
"golang.org/x/net/html"
1513
)
1614

@@ -64,7 +62,7 @@ func (p CrawlerService) Craw(ctx context.Context, uri string, depth uint) ([]str
6462
for fetching := uint(1); fetching <= depth; fetching++ {
6563
linkAddress := <-ch
6664
if linkAddress.err != nil {
67-
log.Error("error to get uri node", zap.Field{Type: zapcore.StringType, String: linkAddress.err.Error()})
65+
log.Error("error to get uri node", logger.FieldError(linkAddress.err))
6866
metrics.LinksErrorCounter.Inc()
6967

7068
return nil, linkAddress.err
@@ -93,7 +91,7 @@ func (p CrawlerService) Craw(ctx context.Context, uri string, depth uint) ([]str
9391
}()
9492

9593
if err := p.database.Insert(ctx, uri, depth, links); err != nil {
96-
log.Error("error inserting data into database", zap.Field{Type: zapcore.StringType, String: err.Error()})
94+
log.Error("error inserting data into database", logger.FieldError(err))
9795
}
9896

9997
return links, nil

internal/core/pager/pager_service.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import (
44
"net/http"
55

66
"github.com/hiago-balbino/web-crawler/internal/pkg/logger"
7-
"go.uber.org/zap"
8-
"go.uber.org/zap/zapcore"
97
"golang.org/x/net/html"
108
)
119

@@ -27,14 +25,14 @@ func (c PagerService) GetNode(uri string) (*html.Node, error) {
2725
}
2826
}()
2927
if err != nil {
30-
log.Error("error to perform get request in provider", zap.Field{Type: zapcore.StringType, String: err.Error()})
28+
log.Error("error to perform get request in provider", logger.FieldError(err))
3129

3230
return nil, err
3331
}
3432

3533
node, err := html.Parse(response.Body)
3634
if err != nil {
37-
log.Error("error to parse response body to html", zap.Field{Type: zapcore.StringType, String: err.Error()})
35+
log.Error("error to parse response body to html", logger.FieldError(err))
3836

3937
return nil, err
4038
}

internal/handler/handler.go

+4-5
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import (
55

66
"github.com/gin-gonic/gin"
77
core "github.com/hiago-balbino/web-crawler/internal/core/crawler"
8-
"go.uber.org/zap"
9-
"go.uber.org/zap/zapcore"
8+
"github.com/hiago-balbino/web-crawler/internal/pkg/logger"
109
)
1110

1211
type Handler struct {
@@ -20,22 +19,22 @@ func NewHandler(service core.CrawlerUsecase) Handler {
2019
func (h Handler) getPageCrawled(c *gin.Context) {
2120
var crawPageInfo crawPageInfo
2221
if err := c.BindQuery(&crawPageInfo); err != nil {
23-
log.Error("error binding query params", zap.Field{Type: zapcore.StringType, String: err.Error()})
22+
log.Error("error binding query params", logger.FieldError(err))
2423
c.HTML(http.StatusBadRequest, "error.html", gin.H{"error": err.Error()})
2524

2625
return
2726
}
2827

2928
if err := crawPageInfo.validate(); err != nil {
30-
log.Error("error validating parameters", zap.Field{Type: zapcore.StringType, String: err.Error()})
29+
log.Error("error validating parameters", logger.FieldError(err))
3130
c.HTML(http.StatusBadRequest, "error.html", gin.H{"error": err.Error()})
3231

3332
return
3433
}
3534

3635
links, err := h.service.Craw(c.Request.Context(), crawPageInfo.URI, crawPageInfo.Depth)
3736
if err != nil {
38-
log.Error("error crawling page", zap.Field{Type: zapcore.StringType, String: err.Error()})
37+
log.Error("error crawling page", logger.FieldError(err))
3938
c.HTML(http.StatusInternalServerError, "error.html", gin.H{"error": err.Error()})
4039

4140
return

internal/handler/server.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ import (
1313
"github.com/hiago-balbino/web-crawler/internal/repository/storage"
1414
"github.com/penglongli/gin-metrics/ginmetrics"
1515
"github.com/spf13/viper"
16-
"go.uber.org/zap"
17-
"go.uber.org/zap/zapcore"
1816
)
1917

2018
var log = logger.GetLogger()
@@ -41,7 +39,7 @@ func (s Server) Start() {
4139
monitor.Use(router)
4240

4341
if err := router.Run(fmt.Sprintf(":%s", viper.GetString("API_PORT"))); err != nil {
44-
log.Fatal("error while server starting", zap.Field{Type: zapcore.StringType, String: err.Error()})
42+
log.Fatal("error while server starting", logger.FieldError(err))
4543
}
4644
}
4745

internal/pkg/logger/zap_logger.go

+4
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ func GetLogger() *zap.Logger {
3737
return Logger
3838
}
3939

40+
func FieldError(err error) zapcore.Field {
41+
return zapcore.Field{Type: zapcore.StringType, String: err.Error()}
42+
}
43+
4044
func getLogLevel() zapcore.Level {
4145
logLevel := viper.GetString("LOG_LEVEL")
4246

internal/repository/storage/crawler_mongodb_repository.go

+3-5
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ import (
1010
"go.mongodb.org/mongo-driver/bson"
1111
"go.mongodb.org/mongo-driver/mongo"
1212
"go.mongodb.org/mongo-driver/mongo/options"
13-
"go.uber.org/zap"
14-
"go.uber.org/zap/zapcore"
1513
)
1614

1715
var log = logger.GetLogger()
@@ -33,7 +31,7 @@ func NewCrawlerMongodbRepository(ctx context.Context) CrawlerMongodbRepository {
3331
opts := options.Client().ApplyURI(endpoint)
3432
client, err := mongo.Connect(ctx, opts)
3533
if err != nil {
36-
log.Error("error connecting to mongodb", zap.Field{Type: zapcore.StringType, String: err.Error()})
34+
log.Error("error connecting to mongodb", logger.FieldError(err))
3735
}
3836

3937
return CrawlerMongodbRepository{client}
@@ -51,7 +49,7 @@ func (c CrawlerMongodbRepository) Insert(ctx context.Context, uri string, depth
5149
}
5250
_, err := c.getCollection().InsertOne(ctx, pageDataInfo)
5351
if err != nil {
54-
log.Error("error while inserting new data into collection", zap.Field{Type: zapcore.StringType, String: err.Error()})
52+
log.Error("error while inserting new data into collection", logger.FieldError(err))
5553

5654
return err
5755
}
@@ -64,7 +62,7 @@ func (c CrawlerMongodbRepository) Find(ctx context.Context, uri string, depth ui
6462
pageDataInfo := pageDataInfo{}
6563
err := c.getCollection().FindOne(ctx, filter).Decode(&pageDataInfo)
6664
if err != nil {
67-
log.Error("error while fetching data from collection", zap.Field{Type: zapcore.StringType, String: err.Error()})
65+
log.Error("error while fetching data from collection", logger.FieldError(err))
6866

6967
return nil, err
7068
}

main.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@ package main
33
import (
44
"github.com/hiago-balbino/web-crawler/cmd"
55
"github.com/hiago-balbino/web-crawler/internal/pkg/logger"
6-
"go.uber.org/zap/zapcore"
76
)
87

98
func main() {
109
err := cmd.Execute()
1110
if err != nil {
1211
logger.
1312
GetLogger().
14-
Fatal("error initializing the application", zapcore.Field{Type: zapcore.StringType, String: err.Error()})
13+
Fatal("error initializing the application", logger.FieldError(err))
1514
}
1615
}

0 commit comments

Comments
 (0)