Là gì

Ghi Log Là Gì – Ghi Log Ra, Vào File, Console Với Apache Log4J

Log là gì?

Log là một quá trình ghi lại những thông tin được thông báo, lưu lại trong quá trình hoạt động của một ứng dụng ở một nơi tập trung. Mục đích chính là để có thể xem lại các thông tin hoạt động của ứng dụng trong quá khứ như debug khi có lỗi xảy ra, check health, xem info, error, warning,…

Có nhiều cách để ghi log: có thể lưu vào file, console (sử dụng lệnh sysout), database hoặc đâu đó để có thể xem lại được.

Đang xem: Ghi log là gì

Trong các ứng dụng thực tế, lưu ra console ít được lựa chọn bởi có một số hạn chế sau:

Chỉ hiển thị kết quả ra console. Vì vậy, mỗi khi console được đóng thì tất cả thông tin log được show trên console cũng mất.Nội dụng log được hiển thị trên console rất khó đọc.

Log như thế nào?

Việc đầu tiên trước khi output dòng log ra hãy tưởng tượng sau đó có thể sử dụng được không, hay chỉ là thông tin vô nghĩa.

READ  Từng Vựng Tiếng Anh Chủ Đề Trường Bán Trú Tiếng Anh Là Gì, Trường Bán Trú Tiếng Anh Là Gì

Ví dụ: khi bạn xử lý một HTTP request từ phía client, request này khi được xử lý thì gây ra lỗi 500 – “Internal server error”. Khi đó thông tin log ở đây ít nhất phải có:

Thời gian request.Người request.HTTP request info: header, request, body,…HTTP response info.Error stack trace về error đó như lỗi ở đoạn nào, dòng nào, lỗi gì, input như thế nào,…

Khi xem lại đoạn log, chúng ta biết được cách tái hiện lại lỗi hay phán đoán lỗi xảy ra như thế nào để khác phục nhanh hơn và chính xác hơn.

Phân loại log (Log level)

Log nên được phân loại tùy theo mục đích sử dụng, theo level:

Độ ưu tiên của các cấp độ log từ thấp đến cao như sau:

ALL Format log

Một điều quan trọng là log đó phải sử dụng được, nghĩa là dễ đọc, dễ trace ra được thông tin cần tìm. Để làm được điều này, các log của chúng ta phải tuân thủ theo một format được chỉ định.

Xem thêm: Tiểu Luận Về Thị Trường Mục Tiêu Của Công Ty Vinamilk, Tiểu Luận Thị Trường Mục Tiêu Của Samsung

Có nhiều ứng dụng phục vụ cho việc thu thập và phân tích dữ liệu từ file log để có thể thống kê, search,… Một trong những ứng dụng trong Java thường dùng là Logstash. Vì vậy file log nên tuân thủ theo format của các ứng dụng này.

Log rotate

Log rotate là việc cắt nhỏ log ra và lưu trữ trên nhiều file thay vì một file.

READ  Tinh Dầu Tràm Trà Là Gì Xịn, Tinh Dầu Tràm Trà Và 10 Tác Dụng Cho Da

Một số chiến lược:

Có thể sẽ lưu file log riêng theo từng ngày, tuần hoặc tháng. Ví dụ: tranminhdung.vn-app-20190414.log, tranminhdung.vn-app-20190415.log, tranminhdung.vn-app-20190416.log,…File log sẽ chia theo loại log: tranminhdung.vn-app-20190414.error.log, tranminhdung.vn-app-20190414.info.logFile log sẽ cắt theo chiến lược khác như dung lượng file. Ví dụ: mỗi file tối đa 100 MB.Hoặc một số chiến lược khác tùy theo yêu cầu của ứng dụng.

Apache Log4j là gì?

Apache Log4j hay ngắn gọn là Log4j là một thư viện được cung cấp bởi Apache hỗ trợ ghi log được viết bằng ngôn ngữ Java.

Cách thành phần chính của Log4j:

Logger: chịu trách nhiệm thu thập thông tin log.

Xem thêm: Phân Tích Số Liệu Thị Trường Cafe 2018 Xuyên Qua 2019, Phân Tích Số Liệu Thị Trường Cà Phê Việt Nam 2017

Appender: chịu trách nhiệm ghi log tới các vị trí đã được cấu hình (file, console). Các loại Appender: SyslogAppendersends, SMTPAppender, JDBCAppender, FileAppender, SocketHubAppender, SocketAppender, TelnetAppender, ConsoleAppender, JMSAppender, …Layout: chịu trách nhiệm định dạng (format) kết quả log. Các loại Layout: PatternLayout, SimpleLayout, XMLLayout, HTMLLayout.

*

Nếu trong project của bạn đã sử dụng thư viện Lombok, thì hãy sử dụng tính năng

Trả lời

Back to top button