Bài viết Logging Là Gì – Giới Thiệu Java Logging thuộc chủ đề về Hỏi Đáp đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng TruongGiaThien.Com.Vn tìm hiểu Logging Là Gì – Giới Thiệu Java Logging trong bài viết hôm nay nha !
Các bạn đang xem nội dung : “Logging Là Gì – Giới Thiệu Java Logging”

Những bài viết kinh điển nhiều người cùng xem:

+Esb Là Gì – Introduction About Enterprise Service Bus

+Logs Là Gì – Log File Là Gì

+Interceptor Là Gì – dùng Okhttp Interceptor Trong Retrofit 2

+Boxbe Là Gì – Reviews, Tính Năng, Bảng Giá, So Sánh

Hôm nay mình sẽ giới thiệu tầm quan trọng của việc ghi log trong phát triển ứng dụng/phần mềm.

Bạn đang xem: Logging là gì

I. Ghi Log là gì?II. Tại sao phải ghi Log?III. Ghi log như thế nào cho đúng?1. Phải lưu log những gì ?1.1. Các tiến trình chạy ngầm1.2. Các khối Try Catch Exception1.3. Các nghiệp vụ phức tạp1.4. Khi giao tiếp với hệ thống khác: (Gọi vào và gọi ra).1.5. Các chức năng về tác động vào cơ sở dữ liệu: (select, insert, update, delete..)1.6. những loại khác2. Lưu log ở đâu ?2.1. Lưu log vào file trong hệ thống2.2. Lưu log vào cơ sở dữ liệu3. Lưu log bằng cách gì ?

I. Ghi Log là gì?

Hiểu đại lọai ghi log là một hành động lưu lại dấu vết, các thông tin được thông báo trong quy trình xử lý của một đoạn code, một chức năng hay một ứng dụng.

Hiện nay mọi ứng dụng, hệ thống lớn nhỏ đều có thực hiện ghi log. Ví dụ đơn giản như dùng điện thoại android, khi vào 1 ứng dụng bị lỗi, lập tức sẽ bị văng ra kèm theo 1 thông báo để người dùng khả năng “report” cho nhà phát triển ứng dụng.

*

Hay đơn cử như cả team bạn đang giao tranh trong game LoL (Liên Minh Huyền Thoại) và bạn cầm Ad (Attack Damage), đang bắn team bạn ầm ầm. Bỗng bùm, game tự động tắt. Bạn chửi thề bla..bla..bla . Máy tính hiện lên thông báo. Sau đó bạn bấm “Send Error Report” gửi log lỗi lên cho nhà phát triển để họ xem và họ sửa lỗi.

*

II. Tại sao phải ghi Log?

Như bình thường, trong quy trình xây dựng phần mềm, khi phát triển các bạn sẽ bật chức năng debug của IDE, xem lỗi ở đâu rồi fix.

Nhưng khi quy trình phát triển hoàn thành và  deploy lên server, chẳng có lập trình viên nào cam đoan rằng chương trình/phần mềm của mình không xảy ra lỗi cả. khả năng deloy lên product xong phần mềm chạy rất mượt mà, vận hành trơn tru.

Bài Nổi Bật  'Blouse Trắng' Là Áo Bác Sĩ Gọi Là Gì Bạn Đã Biết, 'Blouse Trắng' Là Áo Gì

Rồi bỗng một ngày đẹp trời, khách hàng gọi và báo rằng xảy ra một lỗi gì đó trong chức năng. Thế là bạn bắt đầu hỏi về lỗi ấy như thế nào, bạn chạy lại project, test hết case này sang case nọ cũng đều chung một kết quả “méo có lỗi gì hết”. Thế là bạn lại đặt ra câu hỏi: Nghĩa là sao ???. Bạn báo lại khách hàng là theo dõi thêm. Không lâu sau, khách hàng lại phàn nàn về lỗi … Thế là cái vòng tròn cứ thế mà bạn khả năng chẳng check ra bất kỳ một lỗi nào cả.

Xem thêm: Vi – Exploration Craft 145

Viết đến đây chắc các bạn cũng hơi mường tượng ra tầm quan trong của lưu log rồi phải không?

Thế bạn tự hỏi : Lưu log những gì, lưu ở đâu, lưu bằng gì… mời bạn tiếp tục theo dõi phần 3 nha.

III. Ghi log như thế nào cho đúng?

1. Phải lưu log những gì ?

Có một vài bạn quan niệm rằng, cứ lưu log càng nhiều càng tốt. Cứ sau vài đoạn code lại lưu log 1 cái. Đây là một quan niệm hoàn toàn sai lầm mà các bạn nên tránh, cứ cái gì càng nhiều không phải là càng tốt (trừ một vài thứ như tiền, vợ :), bla, bla …).

Ghi log nhiều sẽ làm chúng ta khó kiểm soát, khó trace log khi cần mà lại còn tốn dung lượng lưu trữ nữa. Còn lưu ít quá đôi khi cái lỗi mà chúng ta không ngờ tới (rồi bỏ qua không lưu log) đến khi trace lại để xem lại không có. À ! Vậy thì phải lưu đủ, không thừa, không thiếu. ????

Khái niệm đủ theo như kinh nghiệm và sưu tầm của mình thì chúng ta nên lưu log ở một vài vị trí sau:

1.1. Các tiến trình chạy ngầm Lưu log lúc start và finish + thời gian xử lý xem có chuẩn với thời gian mà chúng ta đặt lịch không, tốc độ xử lý nhanh hay chậm. Lưu log lúc xử lý: Nếu tiến trình xử lý đơn giản khả năng lưu log trước và sau khi xử lý. Nếu tiến trình phức tạp, chúng ta nên break ra các bước để lưu log để giám sát việc tiến trình đang xử lý đến bước nào, gặp lỗi ở bước nào.. Với các tiến trình xử lý nhiều, khả năng gây ra tải cao hệ thống, cần lưu log theo dõi thông tin server hiện nay RAM, CPU.. để tối ưu hóa hệ thống cũng như chọn server phù hợp. 1.2. Các khối Try Catch Exception

*

1.3. Các nghiệp vụ phức tạp Cũng cần break từng bước để lưu log, theo dõi quy trình và trace log sau này. 1.4. Khi giao tiếp với hệ thống khác: (Gọi vào và gọi ra). Cần lưu log các đoạn thực hiện gọi api/service: các thông tin api ( link, method, resquest, respond.. ), thời gian xử lý, người request, 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. 1.5. Các chức năng về tác động vào cơ sở dữ liệu: (select, insert, update, delete..) Lưu log trước và sau khi tác động, người tác động.. để kiểm soát dữ liệu và trace log người tác động và cũng khả năng rollback khi cần. 1.6. những loại khác Lưu log khi chương trình xảy ra lỗi, chúng ta không thực hiện được việc tái hiện lỗi để fix bug. Cần đặt log ở vị trí nghi ngờ để theo dõi và khả năng trace log tìm ra case gây ra lỗi sau này.

Bài Nổi Bật  Mbr Là Gì - ổ Cứng Chuẩn Mbr Và Gpt Là Gì

2. Lưu log ở đâu ?

2.1. Lưu log vào file trong hệ thống

Đây là nơi rất nhiều lập trình viên đã và đang làm. mặc khác cũng có những tiêu chuẩn nhất định trong việc lưu log ở file:

Để file log to quááááááááá (hiệu ứng echo do file to quá J), mở xem như nào đây? File log lưu cả tháng, sau đó bạn phải trace một đoạn log của 1 ngày giữa tháng … => Nên chia ra từng ngày sẽ hợp lý hơn. … 2.2. Lưu log vào cơ sở dữ liệu

Cách làm này sẽ giúp tiết kiệm được tài nguyên hệ thống, trace log một cách đơn giản hơn, rất tiện trong việc giám sát log.

3. Lưu log bằng cách gì ?

một vài lập trình viên lúc mới “bước vào nghề” thường có tập tính print ra màn hình những gì mình muốn, khả năng là respond của 1 Api, exception message của 1 khối catch… => ĐÓ CŨNG LÀ 1 CÁCH LƯU LOG.

mặc khác nếu bạn đã và đang làm như thế thì ngay bây giờ bạn khả năng tập bỏ tập tính đó ngay. Bởi:

Cơ chế print ra màn hình là cơ chế thao tác tuần tự, kéo theo chương trình, module tốn rất nhiều thời gian để xử lý => chậm. Khó trace log sau này. Trường hợp khách hàng muốn theo dõi, giám sát hệ thống log để nếu có lỗi thì báo ngay cho bộ phận kỹ thuật xử lý. Trường hợp này nếu lưu log bằng print ra màn hình sẽ rất khó xử lý.

Tùy theo mục đích và bắt buộc giám sát log để khả năng chọn nơi lưu log, cách lưu log thích hợp cho dự án của bạn. mặc khác việc lưu log ở đâu, lưu log những gì, lưu log bằng cách nào bạn cũng cần phải tuần thủ theo một vài nguyên tắc sau:

Lưu log theo cấu trúc nhất định (tránh lưu raw text). Lưu theo ngày/tuần/tháng/quý Lưu theo loại log (theo thứ tự ưu tiên từ thấp đến cao ALL ). Đảm bảo chương trình vẫn chạy bình thường khi quy trình ghi log xảy ra lỗi. Thời gian xử lý của việc ghi log phải đảm bảo không gây ra tác động quá nhiều đến thời gian xử lý nghiệp vụ. Hoặc 1 số chiến lược khác tùy vào bắt buộc ứng dụng.

Bài Nổi Bật  Ban Thường Vụ Đảng Ủy Là Gì, Bạn Có Biết Ban Thường Vụ Và Ban Chấp Hành Là Gì

Thật may là hiện nay, hầu hết các framewok hiện nay đều được cung cấp chức năng ghi log tự động, mặc khác bên cạnh việc đọc hiểu bug thì đọc log cũng là một kỹ năng rất quan trọng. Ví dụ: log4j, logback, slf4j..

Thư viện ghi log bất đồng bộ trong java mình thường dùng là log4j. Nhìn qua ban đầu thì câu lệnh ghi log trên log4j cũng chỉ đơn giản là logger.debug(“debug log message”) hay logger.info(“info log message”) . mặc khác đằng sau nó là cả một hệ thống xử lý. Nội dung ghi log sẽ cho vào 1 hàng đợi, tiến trình trên log4j sẽ quét hàng đợi để xử lý từng lệnh, giảm thiểu tối đa việc gây tác động thời gian xử lý của nghiệp vụ.

Xem thêm: Tải Game Valorant – Cách Tải Và Cài đặt Valorant Trên Pc

Qua bài này, mình đã giới thiệu khái quát cho các bạn về tầm quan trọng của ghi log trong phát triển phần mềm, cách lưu log ở đâu, lưu log như thế nào. mặt khác, các bạn cũng đã biết 1 framework tiêu chuẩn cơ bản trong lưu log hiện nay là logj4. Ở bài sau, mình sẽ có ví dụ chi tiết trình bày các bước để tích hợp logj4 vào ứng dụng.

Chuyên mục: Hỏi Đáp

 

 

Các câu hỏi về Logging Là Gì – Giới Thiệu Java Logging

Nếu có bắt kỳ câu hỏi thắc mắt nào vê Logging Là Gì – Giới Thiệu Java Logging hãy cho chúng mình biết nha, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình nâng cao hơn hơn trong các bài sau nha <3

Bài viết Logging Là Gì – Giới Thiệu Java Logging ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết Logging Là Gì – Giới Thiệu Java Logging Cực hay ! Hay thì hãy ủng hộ team Like hoặc share.
Nếu thấy bài viết Logging Là Gì – Giới Thiệu Java Logging rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nha!!

 

Các Hình Ảnh Về Logging Là Gì – Giới Thiệu Java Logging

Logging Là Gì - Giới Thiệu Java Logging

Các từ khóa tìm kiếm cho bài viết #Logging #Là #Gì #Giới #Thiệu #Java #Logging

Video cực hay về java logging bạn nên xem một lần trong đời

Xem thêm thông tin về Logging Là Gì – Giới Thiệu Java Logging tại WikiPedia

Bạn khả năng tìm nội dung chi tiết về Logging Là Gì – Giới Thiệu Java Logging từ trang Wikipedia tiếng Việt.◄

Tham Gia Cộng Đồng Tại

💝 Nguồn Tin tại: https://truonggiathien.com.vn/

💝 Xem Thêm Chủ Đề Liên Quan tại : https://truonggiathien.com.vn/hoi-dap/

Give a Comment