0

アクティビティをログに記録するプログラムがあります。
ログ ファイルを特定のサイズ (たとえば 10 MB) 未満に保つためのログ ファイル メカニズムを実装したいと考えています。
ログ ファイル自体は、プログラムが実行したコマンドを保持するだけです。これらのコマンドは可変長です。

現在、プログラムは Windows 環境で実行されていますが、近いうちに UNIX に移植する予定です。

ログファイルを管理するための 2 つの方法を考え出しました。

1.小さいサイズの複数のファイルを保持し、新しいコマンドが現在のファイル長を超える場合は、最も古いファイルを切り捨ててサイズをゼロにし、そこに書き込みを開始します。

2.ファイル内の最初のコマンドに関するメタデータと、ファイル内の次に書き込む場所を保持するヘッダーをファイル内に保持します。また、各コマンドは、このように長さに関するメタデータを保持する必要があると思います。

私の質問は次のとおりです。

  • 効率という点では、これらの方法のどれを使用しますか? また、その理由は何ですか?
  • これに簡単にunixコマンド/機能はありますか?

助けてくれてどうもありがとう、
ニヒル。

4

1 に答える 1

1

UNIX/Linux プラットフォームには、ログファイルを管理する logrotate プログラムがあります。詳細は、たとえばここにあります: http://linuxcommand.org/man_pages/logrotate8.html

于 2012-05-23T13:18:12.927 に答える