2016-08-08 10 views
3

私はリアルタイムでHTML5出力を生成するロガーをC++で作成しています。したがって、HTMLファイルは、成長中であっても、いつでも読み込み可能でなければなりません。HTML5ファイルを大きくするにはどうすればよいですか?

これまでファイルを開き、ブロックを閉じる最後の数行を削除します(</body></html>)、新しいログメッセージを追加してブロックをもう一度閉じます。

これは良いアプローチですか、それとも良い解決策がありますか?

+0

この質問は興味深いかもしれません。 http://stackoverflow.com/questions/29692159/write-logs-in-html-file-using-log4cplus-in-c-linux – niyasc

+0

これはファイルのconcurencyアクセスの問題ですか? –

+1

私は 'HTML'を直接出力しないでください。可能であれば、私はむしろログデータだけを出力し、他のプログラム(フィルター)はログファイルを 'HTML'オンデマンドに変換してください。 (あるいは 'HTML'要素を出力し、要求に応じて' 'と' 'タグを追加するだけです)。 – Galik

答えて

1
  1. 別のアプローチは、HTMLファイル内のJavaScriptで直接(XMLHttpRequestを経由)のログファイルを読み込み、ブラウザ内でHTMLを生成することであろう。しかし、大規模なログファイル(100 MB +)でもかなり遅くなることがあります。
  2. テキストログファイルをヘッダーとフッターで囲むだけであれば、必要に応じてマークアップを作成し、ヘッダーとフッターの間に<iframe src="log.txt">タグを追加することができます。src属性は生のテキストログファイル。もちろん、何らかの形でログをフォーマットする必要がある場合は、これはスイートにはなりません。
+0

私は外部ツールを必要としないのでオプション1に従うことはできませんが、私のプロジェクト内にはほんの数行のコードしかありません。オプション2については、HTMLファイルに直接構文の強調表示を行います。これは、テキストファイルの内容と一連の内部パラメータに依存します。だから、これは私が従うことができるオプションではないと思う。 – Pietro

関連する問題