0

私のアプリケーションでは、すべての種類のコンソール ログをテキスト ファイルまたはログ ファイルに保存する必要があります。Log4Cocoa を使用して、さまざまな種類のログを生成しています。では、これらすべてのコンソール ログをファイルに保存するにはどうすればよいでしょうか。誰でも私を助けてください。

ありがとう

4

1 に答える 1

1

Log4Cocoa では、各ロガーに 1 つ以上の宛先をアタッチできます。したがって、ファイル アペンダーをルート ロガー オブジェクトにアタッチすると、すべてのログ メッセージがそのファイルに送信されます。ロギング システムを初期化するときは、次のようなものを追加します。

NSString *logFileName = @"path-to-your-log-file";

[[L4Logger rootLogger] addAppender: 
        [[L4FileAppender alloc] initWithLayout:[L4Layout simpleLayout] 
                                      fileName:logFileName];

を使用するL4FileAppenderと、書き込み先のファイルが際限なく大きくなる可能性があります。そのため、代わりにL4RollingFileAppenderまたはを使用することを検討してください。L4DailyRollingFileAppenderL4RollingFileAppender、ファイル サイズに基づいてファイルをロールします。はL4DailyRollingFileAppender、時間に基づいてファイルをロールします。名前が示唆するものとは異なり、L4DailRollingFileAppenderを異なる期間 (毎分、毎時間、毎半日など) にロールするように構成できます。

ファイル アペンダーを使用する場合、特にアプリケーションの製品版でログを記録する必要がある場合は、デバイスからログ ファイルを取得する方法を検討する必要があります。

私は Log4Cocoaの優雅さが好きですが、結局 NSLogger ( https://github.com/fpillet/NSLogger ) に切り替えました。

于 2013-09-25T15:41:43.580 に答える