Hiển thị log của request và response trong Spring Boot

Tram Ho

Hiển thị log của request và response trong Spring Boot

I. Giới thiệu

Đối với bạn làm backend thì việc viết API đã không còn là gì xa lạ nữa. Nhưng khi gặp vấn đề thì việc kiểm tra log đã là việc bắt buộc và không thể thiếu. Với API thì việc xem log request và response cũng là một biện pháp mạnh giúp develop điều tra ra nguyên nhân bug. Vậy ở bài này, mình sẽ hướng dẫn các bạn config project sao cho show được các log dễ nhìn, dễ làm nhất.

II. Cài đặt và ví dụ demo

Bạn khởi tạo dự án spring boot + implement một vài đầu API đơn giản để làm ví dụ trực quan nhé

1. Configure Spring Boot Application

Đây là cách cơ bản nhất để hiển thị log request và response

Bạn thêm các class sau để tiến hành demo nhé:

Cấu trúc project:

Class RequestLoggingFilterConfig:

Class UserController:

Class UserDto:

Class UserService:

Class DemoLoggingApplication:

File application.properties:

logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG

File logback.xml:

Bạn sử dụng postman để kiểm tra API và việc show log:

Quan sát console log trong IDE ta sẽ thấy log được show ra với đầy đủ request và response:

Nhưng các bạn nhận thấy các request và response chưa được “đẹp” và chi tiết cho lắm. Vậy mình sẽ sang phần 2 tiến hành tạo log đầy đủ và thuận mắt hơn nhé.

2. Customize show Log với Controller Advice

Các bạn thêm các class như sau:

***Class CustomURLFilter: ***

Class RequestLoggingFilterConfig:

Class CustomRequestBodyAdviceAdapter:

Class CustomResponseBodyAdviceAdapter:

Class LoggingService:

Class GsonParserUtils

Kết quả sau khi bạn chạy thử đây:

Kết quả hiển thị log cực kỳ dễ nhìn và thuận tiện cho việc các bạn điều tra log

Bài hướng dẫn của mình đến đây là kết thúc. Cám ơn mọi người đã theo dõi.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo