2012-08-22 45 views
6

Tôi đang sử dụng CocoaLumberjack cho tất cả đăng nhập trong ứng dụng của mình. Sử dụng điều này tôi có thể đăng nhập thẳng vào một tập tin bằng cách sử dụng DDLogVerbose (...) hoặc bất kỳ các biến thể có sẵn.CocoaLumberjack và NSLog trong các thư viện khác

Tôi cũng đang sử dụng fmdb (trình bao bọc SQLite). Vấn đề là thư viện này sử dụng NSLog() và không có gì nếu đầu ra của nó kết thúc trên tệp nhật ký của tôi.

Có cách nào để nắm bắt đầu ra của NSLog và chuyển hướng nó đến CocoaLumberjack không? Hoặc nếu đó là không thể, chỉ cần "viết lại" NSLog() để nó thực sự thực hiện DDLogVerbose()?

Trả lời

1

Hãy thử thêm

#define NSLog DDLogInfo 

để phía trên cùng của các thư viện khác. Tất nhiên bạn sẽ cần phải

#include "Logging.h" 

để thiết bị hoạt động.

+0

Cảm ơn bạn! Điều này làm việc tuyệt vời cho các báo cáo NSLog của riêng tôi, nhưng không phải cho các báo cáo đăng nhập của Apple. – vomako

1

Điều này có thể hoạt động, nhưng nó cũng có thể tạo vòng lặp vô hạn vì CocoaLumberjack đang sử dụng NSLog, do đó việc xác định lại với DDLogInfo có thể làm mọi thứ lộn xộn. Bạn chỉ cần thử và xem.

+0

Bạn đúng, có một vòng lặp vô hạn. Có cách giải quyết nào cho vấn đề này không? – ebi