From 41a39083ac4bfb70dbcfbf759292bb17b2cc2b59 Mon Sep 17 00:00:00 2001 From: chuck Date: Wed, 12 Jul 2023 09:49:00 +0800 Subject: [PATCH] refactor: Avoid to use huge memory, and some receiver name --- internal/logger/adapter/zerolog_log_repository.go | 6 +++--- internal/logger/entity/access_log.go | 2 +- internal/logger/entity/post_log.go | 2 +- internal/logger/repository/log_repository.go | 6 +++--- internal/logger/service/log_http_transport.go | 10 +++++----- internal/logger/usecase/log_access_usecase.go | 2 +- internal/logger/usecase/log_error_usecase.go | 2 +- internal/logger/usecase/log_post_usecase.go | 2 +- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/internal/logger/adapter/zerolog_log_repository.go b/internal/logger/adapter/zerolog_log_repository.go index 4719ec1..4f5962e 100644 --- a/internal/logger/adapter/zerolog_log_repository.go +++ b/internal/logger/adapter/zerolog_log_repository.go @@ -59,19 +59,19 @@ func NewZerologLogRepository(logDir string) *ZerologLogRepository { } // WriteAccessLog writes the access log to the appropriate logger. -func (r *ZerologLogRepository) WriteAccessLog(log entity.AccessLog) { +func (r *ZerologLogRepository) WriteAccessLog(log *entity.AccessLog) { b, _ := json.Marshal(log) r.accessLogger.Info().RawJSON("log", b).Msg("") } // WritePostLog writes the post log to the appropriate logger. -func (r *ZerologLogRepository) WritePostLog(log entity.PostLog) { +func (r *ZerologLogRepository) WritePostLog(log *entity.PostLog) { b, _ := json.Marshal(log) r.postLogger.Info().RawJSON("log", b).Msg("") } // WriteErrorLog writes the error log to the appropriate logger. -func (r *ZerologLogRepository) WriteErrorLog(log entity.ErrorLog) { +func (r *ZerologLogRepository) WriteErrorLog(log *entity.ErrorLog) { b, _ := json.Marshal(log) r.errorLogger.Info().RawJSON("log", b).Msg("") } diff --git a/internal/logger/entity/access_log.go b/internal/logger/entity/access_log.go index e99089e..d0f76f6 100644 --- a/internal/logger/entity/access_log.go +++ b/internal/logger/entity/access_log.go @@ -25,7 +25,7 @@ type AccessLog struct { } // String formats the AccessLog as a string. -func (l AccessLog) String() string { +func (l *AccessLog) String() string { return fmt.Sprintf( `"%s" %s "%s %s %s" "%s" "%s" %d %d %d %s "%s" "%s" "%s"`, l.At.Local().Format(time.RFC3339), diff --git a/internal/logger/entity/post_log.go b/internal/logger/entity/post_log.go index 4455c05..0be0a79 100644 --- a/internal/logger/entity/post_log.go +++ b/internal/logger/entity/post_log.go @@ -21,7 +21,7 @@ type PostLog struct { } // String returns a formatted string representation of the PostLog. -func (l PostLog) String() string { +func (l *PostLog) String() string { return fmt.Sprintf( `%s %s "%s %s" %d %d %s "%s" "%s" "%s" %s`, l.At.Local().Format(time.RFC3339), diff --git a/internal/logger/repository/log_repository.go b/internal/logger/repository/log_repository.go index c16fe46..bbd2ef9 100644 --- a/internal/logger/repository/log_repository.go +++ b/internal/logger/repository/log_repository.go @@ -6,8 +6,8 @@ import ( // LogRepository defines the interface for a log repository. type LogRepository interface { - WriteAccessLog(log entity.AccessLog) // Write access log entry - WritePostLog(log entity.PostLog) // Write post log entry - WriteErrorLog(log entity.ErrorLog) // Write error log entry + WriteAccessLog(log *entity.AccessLog) // Write access log entry + WritePostLog(log *entity.PostLog) // Write post log entry + WriteErrorLog(log *entity.ErrorLog) // Write error log entry WriteHTTPRequestLog(log *entity.HTTPRequestLog) // Write http-request log entry } diff --git a/internal/logger/service/log_http_transport.go b/internal/logger/service/log_http_transport.go index 39bac96..f1590c0 100644 --- a/internal/logger/service/log_http_transport.go +++ b/internal/logger/service/log_http_transport.go @@ -25,7 +25,7 @@ type LogHTTPTransport struct { } // RoundTrip executes a single HTTP transaction and logs the request and response information. -func (tripper *LogHTTPTransport) RoundTrip(req *http.Request) (res *http.Response, err error) { +func (t *LogHTTPTransport) RoundTrip(req *http.Request) (res *http.Response, err error) { var reqBody, resBody []byte log := entity.HTTPRequestLog{ @@ -37,17 +37,17 @@ func (tripper *LogHTTPTransport) RoundTrip(req *http.Request) (res *http.Respons } if reqBody, req.Body, err = drainBody(req.Body); err == nil { - log.ReqBody = tripper.decodeBody(reqBody) + log.ReqBody = t.decodeBody(reqBody) } - res, err = tripper.core.RoundTrip(req) + res, err = t.core.RoundTrip(req) if err != nil { log.Error = err return nil, err } if resBody, res.Body, err = drainBody(res.Body); err == nil { - log.ResBody = tripper.decodeBody(resBody) + log.ResBody = t.decodeBody(resBody) } log.StatusCode = res.StatusCode @@ -55,7 +55,7 @@ func (tripper *LogHTTPTransport) RoundTrip(req *http.Request) (res *http.Respons log.ResHeader = res.Header ev := event.NewHTTPRequestDoneEvent(&log) - tripper.eventBus.Post(ev) + t.eventBus.Post(ev) return res, nil } diff --git a/internal/logger/usecase/log_access_usecase.go b/internal/logger/usecase/log_access_usecase.go index 6a89f55..c9d152a 100644 --- a/internal/logger/usecase/log_access_usecase.go +++ b/internal/logger/usecase/log_access_usecase.go @@ -53,7 +53,7 @@ func (uc *LogAccessUseCase) When(eventName string, message []byte) { // Execute performs the logging of access events based on the provided input. func (uc *LogAccessUseCase) Execute(input *LogAccessUseCaseInput) (LogAccessUseCaseOutput, error) { - log := entity.AccessLog{ + log := &entity.AccessLog{ At: input.At, Method: input.Method, Origin: input.Origin, diff --git a/internal/logger/usecase/log_error_usecase.go b/internal/logger/usecase/log_error_usecase.go index 2a8c6e6..f7403d3 100644 --- a/internal/logger/usecase/log_error_usecase.go +++ b/internal/logger/usecase/log_error_usecase.go @@ -57,7 +57,7 @@ func (uc *LogErrorUseCase) When(eventName string, message []byte) { // Execute performs the logging of error events based on the provided input. func (uc *LogErrorUseCase) Execute(input *LogErrorUseCaseInput) (LogErrorUseCaseOutput, error) { - log := entity.ErrorLog{ + log := &entity.ErrorLog{ At: input.At, IP: input.IP, Method: input.Method, diff --git a/internal/logger/usecase/log_post_usecase.go b/internal/logger/usecase/log_post_usecase.go index 1d89b8a..284e6bb 100644 --- a/internal/logger/usecase/log_post_usecase.go +++ b/internal/logger/usecase/log_post_usecase.go @@ -55,7 +55,7 @@ func (uc *LogPostUseCase) When(eventName string, message []byte) { // Execute performs the logging of post request events based on the provided input. func (uc *LogPostUseCase) Execute(input *LogPostUseCaseInput) (LogPostUseCaseOutput, error) { - log := entity.PostLog{ + log := &entity.PostLog{ At: input.At, IP: input.IP, Method: input.Method,