Hôm nay bản thân sẽ reviews tầm quan trọng của việc ghi log trong cách tân và phát triển ứng dụng/phần mềm.Bạn sẽ xem: Logging là gì

I. Ghi Log là gì?II. Lý do phải ghi Log?III. Ghi log ra sao cho đúng?1. Nên lưu log mọi gì ?1.1. Những 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 khối hệ thống khác: (Gọi vào và điện thoại tư vấn ra).1.5. Các chức năng về ảnh hưởng vào đại lý dữ liệu: (select, insert, update, delete..)1.6. Các loại khác2. Lưu giữ log ở chỗ nào ?2.1. Lưu log vào tệp tin trong hệ thống2.2. Lưu lại log vào cơ sở dữ liệu3. Giữ log bằng cách gì ?

I. Ghi Log là gì?

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

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

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

Hiện nay hầu như ứng dụng, hệ thống lớn nhỏ dại đều có tiến hành ghi log. Ví dụ đơn giản và dễ dàng như sử dụng điện thoại thông minh android, khi vào 1 vận dụng bị lỗi, lập tức sẽ bị văng ra dĩ nhiên 1 thông tin để fan dùng có thể “report” mang lại nhà cải cách và phát triển ứng dụng.


*

Hay solo cử như cả team ai đang giao tranh trong game LoL (Liên Minh Huyền Thoại) và chúng ta cầm Ad (Attack Damage), đang phun team bạn ầm ầm. Bỗng nhiên bùm, game tự động hóa tắt. Chúng ta chửi thề bla..bla..bla . Laptop hiện lên thông báo. Sau đó bạn bấm “Send Error Report” giữ hộ log lỗi lên mang đến nhà cải tiến và phát triển để bọn họ xem cùng họ sửa lỗi.


*

II. Lý do phải ghi Log?

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

Viết cho đây chắc chúng ta cũng hơi nghĩ đến ra tầm quan lại trong của lưu lại log rồi bắt buộc không?

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

III. Ghi log ra sao cho đúng?

1. Cần lưu log đông đảo gì ?

Có một trong những bạn ý niệm rằng, cứ lưu giữ log càng các càng tốt. Cứ sau vài ba đoạn code lại giữ log 1 cái. Đây là một trong quan niệm trọn vẹn sai lầm mà chúng ta nên tránh, cứ cái gì càng nhiều chưa phải là càng tốt (trừ một vài thứ như tiền, vợ :), bla, bla …).

Ghi log các sẽ làm bọn họ khó kiểm soát, cạnh tranh trace log khi cần và lại còn tốn dung tích lưu trữ nữa. Còn giữ ít quá đôi khi cái lỗi mà bọn họ không ngờ cho tới (rồi bỏ lỡ không lưu log) cho đến khi trace lại giúp thấy lại không có. À ! Vậy thì bắt buộc lưu đủ, không thừa, ko thiếu. ????

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

1.1. Các tiến trình chạy ngầm lưu giữ log thời điểm start cùng finish + thời gian xử lý coi có chuẩn chỉnh với thời hạn mà họ đặt định kỳ không, tốc độ xử lý nhanh hay chậm. Lưu lại log cơ hội xử lý: Nếu tiến trình xử lý solo giản hoàn toàn có thể lưu log trước và sau khoản thời gian xử lý. Nếu tiến trình phức tạp, bọn họ nên break ra các bước để lưu lại log để thống kê giám sát việc quy trình đang xử trí đến cách nào, gặp lỗi ở bước nào.. Với những tiến trình xử lý nhiều, có khả năng gây cài đặt cao hệ thống, bắt buộc lưu log theo dõi tin tức server bây giờ RAM, CPU.. để buổi tối ưu hóa hệ thống cũng tương tự chọn hệ thống phù hợp. 1.2. Những 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 một để lưu lại log, theo dõi quy trình và trace log sau này. 1.4. Khi tiếp xúc với khối hệ thống khác: (Gọi vào và call ra). Phải lưu log những đoạn triển khai gọi api/service: những thông tin api ( link, method, resquest, respond.. ), thời hạn xử lý, người request, Error stack trace về error đó như lỗi ở phần nào, chiếc nào, lỗi gì, input như thế nào,… khi chứng kiến tận mắt lại đoạn log, bọn họ biết được phương pháp tái hiện lại lỗi hay phán đoán lỗi xảy ra thế nào để tự khắc phục nhanh hơn và đúng chuẩn hơn. 1.5. Các công dụng về ảnh hưởng vào cửa hàng dữ liệu: (select, insert, update, delete..) lưu log trước và sau khi tác động, tín đồ tác động.. để kiểm soát và điều hành dữ liệu và trace log người ảnh hưởng tác động và cũng có thể 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, họ không triển khai được bài toán tái hiện tại lỗi để fix bug. Cần đặt log làm việc vị trí ngờ vực để theo dõi và có thể trace log tìm thấy case gây lỗi sau này.

2. Lưu giữ log ở chỗ nào ?

2.1. Lưu giữ log vào tệp tin trong khối hệ thống

Đây là nơi không ít lập trình viên đã với đang làm. Tuy nhiên cũng có thể có những tiêu chuẩn chỉnh nhất định trong bài toán lưu log sinh sống file:

Để tệp tin log to quááááááááá (hiệu ứng echo bởi vì file to quá J), mở xem như làm sao đây? file log lưu cả tháng, tiếp nối bạn buộc phải trace một đoạn log của một ngày vào giữa tháng … => phải chia ra từng ngày một sẽ hợp lí hơn. … 2.2. Lưu log vào cơ sở dữ liệu

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

Xem thêm: Thời Gian Làm Hàng (Laydays/ Laytime Là Gì ? Laytime Là Gì

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

Tuy nhiên nếu như bạn đã với đang làm như vậy thì ngay bây giờ chúng ta có thể tập bỏ thói quen đó ngay. Bởi:

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

Tùy theo mục đích và yêu cầu giám sát và đo lường log để rất có thể chọn chỗ lưu log, phương pháp lưu log tương thích cho dự án công trình của bạn. Tuy nhiên việc giữ log sinh sống đâu, giữ log mọi gì, lưu log bằng cách nào bạn cũng rất cần được tuần thủ theo một trong những nguyên tắc sau:

Qua bài này, mình đã trình làng khái quát mắng cho các bạn về tầm quan trọng của ghi log trong cách tân và phát triển phần mềm, giải pháp lưu log làm việc đâu, giữ log như vậy nào. Xung quanh ra, các bạn cũng đã biết 1 framework tiêu chuẩn chỉnh cơ bản trong giữ log hiện thời là logj4. Ở bài bác sau, mình sẽ sở hữu được ví dụ rõ ràng trình bày quá trình để tích đúng theo logj4 vào ứng dụng.