2016-09-23 14 views
0

linux上でアプリケーションを開発する方法を理解したいので、デバッグモードの実行時に生成されるログファイルを得ることができます。 Syslogはデーモンであり、アプリケーションによってログに記録されたログメッセージは他のメッセージと混在しています。カスタムログファイルが必要です(システムログと同じログではなく、このアプリケーション固有のもので、毎回同じファイルでも、実行ごとに異なるファイルでもかまいません)。Linux上のCアプリケーションのDEBUGモードでのカスタムロギング

私はDEBUGモードの質問を絞り込むことを特に頼んでいますが、理想的には、LOGモード有効(デバッグなし)、LOGモード無効(デバッグモードなし)、DEBUGモードデフォルトではこのモードです)。

答えて

0

あなたが探しているのであれば、このためのライブラリインターフェイスはありません。など

あなたのアプリは、あなたが「エラー」としてログに記録する機能のセットを定義することができ、ログファイル自体を開く必要があります、「警告」は、「情報」、「デバッグ」、

あなたは」定期的にログファイルをロールする方法も必要です。

サイズベースのローリングを使用する場合は、fprintfを使用してログに出力し、戻り値を取得して書き込まれたバイト数を取得できます。その値をカウンタに追加し、サイズのしきい値に達したかどうかを確認することができます。代わりに日付ベースのローリングが必要な場合は、次のロールの時間を設定して、現在の時間がその時間より後であるかどうかを確認できます。

ローリングの基準に達すると、現在のログファイルを閉じて、そのファイルの名前を変更し(必要に応じて古いファイルとともに)、新しいログファイルを開きます。あなたはlogfile.1logfileから名前を変更する最新のファイルを取得するまでなど、その後logfile.n-1logfile.nlogfile.n-1logfile.n-2の名前を変更し、最初のlogfile.nを削除する、のはnログファイルを言わせて、ファイルの特定の数を維持するために

。ローリングベースの日付の

、あなただけなど、あなたが時間単位のローリングをしたい場合は、あなたが毎日ローリング、logfile.YYYYMMDD_HHをしたい場合logfile.YYYYMMDDlogfileから最新のログファイルの名前を変更する必要がある、と。

+0

説明ありがとうございました... – Bhargav

関連する問題