2015-09-26 15 views

Trả lời

8

Đó là một cách có thể, nhưng không lý tưởng.

Trước tiên, tôi tự hỏi nếu bạn thực sự muốn tắt hoàn toàn nhật ký trong sản xuất. sử dụng các nhật ký errorsevere có thể là công cụ chẩn đoán hữu ích cho các ứng dụng đã phát hành.

Nếu bạn muốn xóa hoàn toàn nhật ký trong sản xuất, tôi khuyên bạn nên thay đổi cách bạn thiết lập và sử dụng nhật ký so với những gì tôi có trong tài liệu chính thức.

Thay đổi đối tượng đăng nhập toàn cầu là một tùy chọn thay vì:

let log: XCGLogger? = { 
    #if DEBUG 
     let log = XCGLogger.defaultInstance() 
     log.setup(.Debug, showThreadName: true, showLogLevel: true, showFileNames: true, showLineNumbers: true, writeToFile: nil, fileLogLevel: .Debug) 
     return log 
    #else 
     return nil 
    #endif 
} 

Sau đó thay đổi đăng nhập của bạn gọi đến:

log?.debug("whatever") 

Điều này sẽ loại bỏ bất kỳ chi phí của logger từ log sẽ nil trong sản xuất và không có cuộc gọi khai thác gỗ sẽ được thực hiện.

+0

Btw. Làm thế nào các bản ghi lỗi và lỗi trong sản xuất có thể liên lạc lại với tôi nếu tôi không xóa hoàn toàn chúng – Kaunteya

+0

Với phiên bản hiện tại, bạn cần nói chuyện với người dùng đang gặp sự cố và họ có thể thấy chúng trong nhật ký bảng điều khiển của họ . Hoặc bạn thêm phương thức để ứng dụng gửi email cho bạn tệp nhật ký hoặc thậm chí báo cáo nó với máy chủ từ xa. Tôi dự định bổ sung một số công cụ báo cáo từ xa vào cuối năm (nếu thời gian cho phép). –

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