2011-07-14 39 views
26

Trong dự án của chúng tôi bây giờ chúng tôi sử dụng log4cxx, nhưng những thư viện đó không phát triển vài năm, chúng tôi cũng gặp một số vấn đề với nó. Bạn có thể tư vấn cho một số thư viện để đăng nhập vào C++ hay không. Thư viện phải hỗ trợ ghi nhật ký đa luồng, nhật ký hệ thống. Cũng sẽ tốt nếu nó hỗ trợ ghi nhật ký qua nhà điều hành < <. Ngoài ra giấy phép lib phải rất dân chủ - như tăng, apache vv hỗ trợ Crossplatform. Phải hỗ trợ linux, windows. Tốt hơn nếu nó hỗ trợ solaris, aix, hp-ux, nhưng nó không cần thiết.Thư viện ghi nhật ký tốt hơn cho C++

+1

Hãy xem: [easylogging ++] (https://github.com/easylogging/easyloggingpp). Nó đập tăng :: đăng nhập trong quan điểm của tôi. – lepe

Trả lời

16

boost::log có lẽ là thư viện ghi nhật ký linh hoạt và được viết tốt nhất mà tôi từng thấy. Nó khá phức tạp nhưng thực sự là thiên tài cùng một lúc. Và nó làm tất cả mọi thứ bạn có thể nghĩ đến và sau đó một số chi tiết.

+0

Và bạn có biết, tại sao thư viện này hiện không được tăng cường? Đó là sự chấp thuận trong tiến trình, hoặc một số vấn đề nghiêm trọng với nó? – Olympian

+0

Tôi thực sự không biết lý do chính xác; có lẽ nó không đủ trưởng thành? Tôi đã sử dụng nó cho một vài dự án và không có vấn đề gì với nó. – stijn

+1

Nó đã được chấp nhận, nhưng có một số vấn đề với việc đưa nó vào trong thân tăng (một cái gì đó để làm với phiên bản phượng IIRC). Có một số cuộc thảo luận gần đây trên danh sách gửi thư về việc này. – Ralf

3

Kiểm tra pantheios!

+1

Thư viện này có hỗ trợ đa đăng nhập hay không (không biết cách đặt tên) - cho ví dụ tôi có mô-đun A, B. Tôi muốn đặt dấu vết cấp nhật ký cho A và chỉ lỗi cho B? Và đang tạo ra các logger mới và thiết lập chúng dễ dàng? Hoặc đôi khi không tầm thường – Olympian

+2

Pantheios trông thực sự tuyệt vời, ngoại trừ việc tác giả dường như đã để nó chết trên cây nho trong ít nhất 18 tháng nay, và nó sẽ không xây dựng bằng cách sử dụng phiên bản trình biên dịch mới nhất :-( –

3

Chúng tôi sử dụng log4cplus trong công ty của chúng tôi, nó cung cấp một hệ thống đăng nhập phân cấp phức tạp (dựa trên log4j). Nó dường như có mọi thứ bạn đang yêu cầu. Nó cung cấp nhiều appenders (cá nhân tôi chọn thư viện này cho các tập tin linux/windows và linux Syslog).

Thư viện khá đơn giản để biên dịch và triển khai trên cả hai cửa sổ linux & Và thực hiện công việc không có vấn đề cho đến nay (khoảng 4 năm trong sản xuất).

Hạn chế duy nhất, thiếu tài liệu nhưng mã nó khá tự giải thích. Tốt mới là bạn có thể truy cập trang tài liệu log4j để hiểu cách cấu hình/mẫu/v.v ...

12

Tôi sử dụng thư viện glog, bởi vì tôi không thể cài đặt Boost.Log dễ dàng. Nó vừa dễ sử dụng vừa mạnh mẽ.

+0

Vâng, tôi xem Thật dễ dàng, nhưng đối với trẻ - tôi sợ có một số lỗi xấu: ( – Olympian

+0

Có vẻ thú vị! Thanx! –

+2

glog có một số nhược điểm: - nó lấy cấu hình từ cờ dòng lệnh (và do đó hoạt động tốt nhất với gflags)), - nó dự kiến ​​sẽ được khởi tạo từ chính do đó nó không được dự kiến ​​sẽ được sử dụng trong các thư viện được nạp động (trong đó mỗi lib đều có glog riêng);đường dẫn tệp mặc định cho nhật ký là gì); Từ phía bên kia: chất lượng cao, được thử nghiệm tốt, được sử dụng trong các hệ thống sản xuất lớn. –

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