本番環境で XCGLogger からのログを完全に無効にするにはどうすればよいですか?
現在、私は使用してlogLevel = .None
います。
これは推奨される方法ですか?
これは可能な方法の 1 つですが、理想的ではありません。
まず、本番環境でログを完全に無効にする必要があるかどうか疑問に思います。error
とログを使用するとsevere
、リリースされたアプリの診断ツールとして役立ちます。
ただし、本番環境でログを完全に排除したい場合は、公式ドキュメントに記載されている方法よりも、ロガーの設定方法と使用方法を変更することをお勧めします.
代わりに、グローバル ログ オブジェクトをオプションに変更します。
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
}
次に、ログ呼び出しを次のように変更します。
log?.debug("whatever")
log
これにより、ロガーがnil
本番環境にあり、ロギング呼び出しが行われないため、ロガーのオーバーヘッドがなくなります。