検索

ホームページ  >  に質問  >  本文

java - 日志系统能不能保证日志在1min内写到磁盘上

日志系统,如log4j或者glog等等有没有对于日志落到磁盘上的时间有没有什么保证?如何实现日志系统能在1min内将日志写到磁盘上。

高洛峰高洛峰2804日前850

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-17 14:34:54

    いいえ、パフォーマンスを向上させるには、メモリ バッファリングとディスク バッファリング テクノロジを使用する必要があります。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 14:34:54

    ハードドライブに費やす時間に関する要件がある場合は、自分で書き込む必要がある場合があります。
    通常出力に使用する fprintf と同様に、パフォーマンス上の理由から、ランタイム ライブラリの関数はバッファリングされます (キャッシュは通常約 4K ですが、必ずしも必要ではありません)。 、実際にハードディスクに書き込むための書き込み呼び出しが 1 回あります
    。 自分で実装する場合は、リアルタイム性を考慮して、システム コール インターフェイス write() を直接使用してログを記録します。 バッファ許容値が 1 分の場合、ログを書き込むときに fprintf を使用できますが、1 分ごとに fflush() を呼び出してログを強制的にハードディスクに保存します
    。 PS: log4j にそのような強力なフラッシュ インターフェイスがある場合は、情報を確認できます。

    返事
    0
  • キャンセル返事