2010-08-18 30 views
85

Tôi đang xem xét việc bắt đầu sử dụng Boost.Log logging library. 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.Trải nghiệm sử dụng thư viện ghi nhật ký Boost.Log?

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

+0

Tôi có hệ thống đăng nhập của riêng mình, nhưng tôi đang xem xét chuyển đổi, câu hỏi thú vị! –

+0

@Cedric Vâng, tôi cũng có hệ thống đăng nhập của riêng mình nhưng không thể đi quá xa với nó vì tôi cần hiệu suất cao, khả năng cấu hình như gửi gỡ lỗi đến bàn điều khiển cũng như tệp, khả năng cấu hình lại động (tùy chọn), ghi nhật ký thành phần và các bản ghi không bị xáo trộn khi sử dụng nhiều luồng. –

+21

bloost.log là RẤT RẤT chậm, điên rồ phức tạp để cấu hình, nó hầu như không thông qua quá trình xem xét của nó, và như 1.47 vẫn không có trong bản phát hành Boost. Một trong những thư viện mà có thể không làm cho nó vào đường chính trong vòng vài năm tới, vì vậy bây giờ log4c vv là lựa chọn tốt hơn. –

Trả lời

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ó. Đó là nhanh chóng, thread-an toàn và rất rất linh hoạt khi bạn cần nó.

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


Boost.Log được tạo để thiết lập hệ thống nhật ký trê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 đăng nhập nào mà yon có thể nghĩ có thể được xây dựng với nó (như đăng nhập vào một máy tính ở xa).

Vì vậy, there are macro to ease use in simple projects nhưng tôi nghĩ đó là loại thư viện hữu ích chủ yếu cho những người thực sự hiểu đăng nhập và muốn xây dựng kiến ​​trúc cụ thể cho ứng dụng của họ. Giới thiệu về hiệu suất, tôi nhớ rằng đã có vấn đề trong quá trình gửi khiến nó chậm so với các thư viện khai thác khác (ít linh hoạt hơn) nhưng vì nó là bản nháp và bản phát hành đầu tiên vẫn chưa được nêu ra, tôi sẽ không bận tâm nếu bạn ' không mã hóa một ứng dụng thời gian quan trọng.

Cuối cùng, tôi nghĩ nó quá "mới" để được đánh giá "hiện tại". Không có thư viện đăng nhập 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 sẽ cảm thấy cần phải sử dụng nó hay không.

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

40

CẬP NHẬT: Tôi đã viết thay thế Boost.Log bằng 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ả phụ thuộc Tăng cường trong tất cả các dự án của mình vì nhiều lý do khác nhau. Nếu bạn ổn với việc sử dụng Boost tôi đoán Boost.Log vẫn là lựa chọn hợp lệ để đánh giá bởi Klaim's answer.

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


Tôi đã tích hợp thành công Boost.Log vào 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, đó là một chút sớm để sử dụng, kể từ phiên bản 2 sẽ là phiên bản thực tế sẽ trở thành Boost.Log chính thức.

Hãy coi chừng 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 rạch (thân cây) 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 ngại sử dụng các phiên bản cạnh chảy máu hoặc vỡ trong tương lai, hãy tiếp tục. Nó thực sự tốt đẹp để sử dụng vì nó ở trạng thái hiện tại của nó.

Tôi đã nghĩ rằng hệ thống ghi nhật ký phân cấp trong log4j/log4cxx cao hơn, nhưng Boost.Log đã khiến tôi suy nghĩ khác. Lọc và thuộc tính là cách linh hoạt hơn.

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

Tôi đã viết các chương trình phụ trợ riêng của mình; một người đi 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. Được dễ dàng hơn tôi mong đợi, đã có nó 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 duy trì/nhà phát triển cũng thực sự hữu ích. Bạn sẽ nhận được rất nhiều sự giúp đỡ trong các diễn đàn dự án. Anh ấy đã sửa hai lỗi (trong đó một chính) chỉ vào cuối tuần này mà tôi đã báo cáo :-)

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 tôi đã bắt đầu.

Tôi đã thử log4cxx khi bạn đề cập đến nó, nó thực sự là rất tẻ nhạt để cài đặt. Nó đã cho tôi vài giờ để có được nó để biên dịch theo VS2012 (với các thư viện phụ thuộc khác ...), và sau đó nó chỉ bị rơi khi tôi sử dụng nó trong dự án của tôi. Chắc chắn một số công cụ kỳ lạ xảy ra với các thư viện chuẩn không phù hợ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 của việc có các tính năng tương tự như nổi tiếng log4j & co. các hệ thống ghi nhật ký có thể là một lợi thế thực sự cho việc 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.)

Khi có liên quan đến hiệu suất, sẽ có một cuộc gọi hàm để kiểm tra xem trình ghi đang hoạt động với cấp độ của thông báo, sau đó một chức năng gọi để thực sự đăng nhập dữ liệu.

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

Thật không may, tôi đã không thử Boost.Log vì vậy 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 đi theo cách Boost.Log.

Các vấn đề liên quan