2009-07-22 3 views
11

Mọi người, tôi không thể tìm thấy phiên bản đăng nhập lại của syslog() cho Linux ... có một không? Và nếu không, bạn làm gì? Câu trả lời rõ ràng là di chuyển cơ sở ghi nhật ký thành chuỗi riêng biệt và truy cập nối tiếp đến syslog ...syslog_r dành cho Linux?

+0

Bảo vệ cuộc gọi nhật ký hệ thống với một semaphore/mutex có ít rõ ràng hơn không? Mọi người sẽ có thể giúp đỡ bạn tốt hơn nếu bạn có thể giải thích về những gì bạn muốn làm, và tại sao giải pháp bạn tự đề xuất là không thể chấp nhận được. –

Trả lời

17

Theo POSIX specification, chức năng nhật ký đã được an toàn luồng và được triển khai trong Linux. Vì vậy, syslog_r là không cần thiết - sử dụng syslog nếu bạn cần một hàm logger reentrant.

+5

BSD xác định cuộc gọi syslog_r, tuy nhiên, vì một lý do hoàn toàn khác; các chủ đề riêng lẻ có thể muốn đăng nhập với các tùy chọn nhật ký hệ thống khác nhau, điều này không thể thực hiện được. –

+0

Quyền - chức năng đó không khả dụng trên Linux. –

+0

[trang này] (http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.basetechref%2Fdoc%2Fbasetrf2%2Fsyslog.htm) nói rằng đó là không phải là chủ đề an toàn –