Trải nghiệm sử dụng thư viện ghi nhật ký Boost.Log? [đóng cửa]


88

Tôi đang cân nhắc bắt đầu sử dụng thư viện ghi nhật ký Boost.Log . Có ai đang sử dụng Boost.Log không? Hãy chia sẻ kinh nghiệm của bạn về vấn đề này.

Các thư viện khác mà tôi đang xem xét là Apache log4cxx (cài đặt có vẻ tẻ nhạt nhưng các đồng đội của tôi muốn một thứ gì đó đơn giản để bắt đầu) và Pantheios (cùng một vấn đề vì nó hoạt động với thêm mặt trước và mặt sau).


Tôi có hệ thống Ghi nhật ký của riêng mình, nhưng tôi đang cân nhắc chuyển đổi, câu hỏi rất thú vị!
Cedric H.

21
bloost.log RẤT RẤT chậm, cấu hình cực kỳ phức tạp, nó hầu như không vượt qua quá trình xem xét và kể từ ngày 1.47 vẫn chưa có trong bản phát hành Boost. Một trong những thư viện có thể không được đưa vào danh sách chính trong vòng vài năm tới, vì vậy hiện tại log4c, v.v. là những lựa chọn tốt hơn.

4
Trên thực tế, người ta đã giải thích rằng nó cần một số bản sửa lỗi và mục tiêu phát hành hiện tại là vào mùa hè này - các thư viện bị bỏ rơi không có lịch trình và kho lưu trữ đang tiến hành. Ngoài ra, nó đã được báo cáo bởi tác giả rằng người dùng báo cáo hiệu suất RẤT RẤT RẤT tốt. Độ phức tạp rất hữu ích trong một số ngữ cảnh và nếu không cần, bạn có thể sử dụng các macro dễ dàng được cung cấp. Vì vậy, tôi không đồng ý với nhận xét của bạn.
Klaim

40
Tôi thực sự ước StackOverflow ngừng đóng những câu hỏi rõ ràng hữu ích như câu hỏi này là "không mang tính xây dựng".
Stéphane

6
Tôi tự hỏi, tình hình năm 2015 thế nào? Có lẽ bây giờ dùng 2.0 là "OK"?
Vincas Dargis

Câu trả lời:


41

CẬP NHẬT : Tôi kể từ khi điều này được viết đã thay thế Boost.Log bằng ghi nhật ký tùy chỉnh của riêng tôi, chủ yếu là vì tôi quyết định loại bỏ tất cả các phụ thuộc Boost trong tất cả các dự án của mình vì nhiều lý do khác nhau. Nếu bạn thấy ổn với việc sử dụng Boost, tôi đoán Boost.Log vẫn là một lựa chọn hợp lệ dựa trên câu trả lời của Klaim .

Trải nghiệm của tôi với Boost.Log vào năm 2010 sau đó.


Tôi đã tích hợp thành công Boost.Log trong công cụ trò chơi của mình và tôi chỉ có thể nói những điều tốt đẹp về nó. Chắc chắn, còn hơi sớm để sử dụng, vì phiên bản 2 sẽ là phiên bản thực tế sẽ trở thành Boost.Log chính thức.

Lưu ý rằng phiên bản "1.0" có sẵn không được duy trì. Để nhận các bản cập nhật, bạn phải sử dụng phiên bản cạnh chảy máu (thân) có thể trở nên không ổn định. Hãy tính đến điều này nếu bạn định sử dụng phiên bản này trong bất kỳ dự án nghiêm túc nào. Nếu bạn không sợ sử dụng các phiên bản cạnh chảy máu hoặc vỡ trong tương lai, thì hãy sử dụng nó. Nó thực sự tốt để sử dụng như nó ở trạng thái hiện tại.

Từ lâu, tôi đã nghĩ hệ thống ghi phân cấp trong log4j / log4cxx vượt trội hơn, nhưng Boost.Log đã khiến tôi nghĩ khác. Lọc và thuộc tính linh hoạt hơn.

Thiết kế của các bồn rửa được phân tách bằng frontend / backend giúp bạn thực sự dễ dàng thêm các phụ trợ bổ sung. Không cần phải lo lắng về các vấn đề đồng bộ hóa hoặc lọc do giao diện người dùng xử lý. Thư viện cũng đi kèm với rất nhiều phụ trợ, tệp xoay, bảng điều khiển, nhật ký hệ thống, đăng ký sự kiện Windows, v.v.

Tôi đã viết phụ trợ bồn rửa của riêng tôi; một vào bảng điều khiển trong trò chơi và một đến một loại hệ thống thông báo cho các sự kiện nghiêm trọng hơn. Dễ dàng hơn tôi mong đợi, đã thiết lập và chạy chỉ trong vài phút.

Cuối cùng nhưng không kém phần quan trọng, người bảo trì / nhà phát triển cũng thực sự hữu ích. Bạn sẽ nhận được nhiều sự trợ giúp trong các diễn đàn của dự án. Anh ấy đã sửa hai lỗi (trong đó một lỗi chính) chỉ vào cuối tuần này mà tôi đã báo cáo :-)


21

CẬP NHẬT: Tôi đang sử dụng Boost.Log vào hệ thống công cụ trò chơi và tôi rất hài lòng với nó. Nó nhanh chóng, an toàn và rất linh hoạt khi bạn cần.

Boost.Log sẽ được cung cấp cùng với tất cả các thư viện Boost trong bản phát hành sắp tới trong năm nay (2013).


Boost.Log được thực hiện để thiết lập một hệ thống nhật ký trên nó. Nếu bạn đọc tài liệu, bạn sẽ thấy rằng nó rất linh hoạt mà bất kỳ hệ thống ghi nhật ký nào bạn có thể nghĩ đến đều có thể được xây dựng với nó (như đăng nhập trên một máy tính ở xa).

Vì vậy, có macro để dễ dàng sử dụng trong các dự án đơn giản nhưng tôi nghĩ đó là loại thư viện hữu ích hầu hết cho những người thực sự hiểu về ghi nhật ký và muốn xây dựng một kiến ​​trúc cụ thể cho ứng dụng của họ.

Về hiệu suất, tôi nhớ rằng có vấn đề trong quá trình gửi làm cho nó chậm so với các thư viện ghi nhật ký (kém linh hoạt hơn) khác nhưng vì nó là bản nháp và bản phát hành đầu tiên chưa ra mắt, tôi sẽ không bận tâm nếu bạn không viết mã ứng dụng quan trọng về thời gian.

Cuối cùng, tôi nghĩ đơn giản là nó quá "mới" để được đánh giá là "bây giờ". Không có thư viện ghi nhật ký nào khác linh hoạt như thư viện này và tôi không chắc liệu có nhiều người cảm thấy cần sử dụng nó hay không.

Cập nhật: một cuộc trao đổi email gần đây với tác giả Boost.Log dẫn đến một số dữ liệu cho thấy tat Boost.Log rõ ràng là một sự thay thế tuyệt vời để ghi nhanh.


7

Gần đây tôi đã xem xét triển khai hệ thống ghi nhật ký trên một dự án mà tôi đang bắt đầu.

Tôi đã thử log4cxx như bạn đề cập, nó thực sự rất tẻ nhạt để cài đặt. Tôi mất vài giờ để biên dịch nó theo VS2012 (với các thư viện phụ thuộc khác ...), và sau đó nó chỉ bị lỗi khi tôi sử dụng nó trong dự án của mình. Chắc chắn một số điều kỳ lạ đang xảy ra với các thư viện tiêu chuẩn không khớp, nhưng không thể tìm ra.

Vì vậy, tôi đã chuyển sang log4cpp mà tôi đã thiết lập và chạy chỉ trong vài phút. Tôi thấy nó thanh lịch và nhẹ, chỉ là những gì tôi cần. Nó có lợi thế lớn là có các tính năng tương tự như log4j & co nổi tiếng. hệ thống ghi nhật ký có thể là một điểm cộng thực sự cho làm việc theo nhóm của bạn (cấu hình thông qua tệp cấu hình, v.v.)

Liên quan đến hiệu suất, cần một lệnh gọi hàm để kiểm tra xem trình ghi nhật ký có hoạt động đối với cấp của thông báo hay không, sau đó một lệnh gọi hàm để thực sự ghi lại dữ liệu.

Với một vài macro tự tạo (để thêm LINE & co. Vào thư), log4cpp đã thực sự chứng minh được sự hữu ích trong dự án của tôi.

Thật không may, tôi đã không thử Boost.Log nên không thể nói về nó, nhưng tôi hy vọng phản hồi này sẽ vẫn hữu ích cho bạn nếu bạn chọn không sử dụng cách Boost.Log.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.