2013-03-15 4 views
8

、個人的にnodejsは、Node.jsのために

fs.appendFile(path.join(__dirname, 'app.log'), 'appendme', 'utf8') 

と同様にファイルの前に追加するための最良の方法は何か、最善の方法は実際にログを作成するための非同期ソリューションを中心に展開します私は基本的に上からファイルを押すことができます。

+0

でそれが実際に可能であると思われる「最高」を定義します - あなたの条件は何ですか?ログを作成するときのベストプラクティスについて話していますか?これを非同期に行うのですか? –

+0

個人的には、最良の方法は、基本的に同期ソリューションを中心に回転し、ログを作成します。 – bluejamesbond

+0

その場合は、imhoがロギングのためにノードの入出力をブロックしていることが非常に特殊なコンテキスト外の_horrible_アイデアであるため、明確にする必要があります。 –

答えて

4

ファイルの先頭に追加することはできません。 See this question、またはC#の同様の問題の場合はthis questionになります。

従来の方法でログを記録する(つまり、ファイルの最後に記録する)ことをお勧めします。

それ以外の場合は、ファイルを読んでからテキストを最初に追加してファイルに書き戻す方法はありません。ファイルが本当に高価になる可能性があります。

6
+1

注:通知されたとおりに動作しません。操作の複雑さはファイルサイズによって異なります.4GBのファイルを前に置くと、4GBのデータがコピーされます。 –

+0

@BenjaminGruenbaumそれはファイルの前に広告され、それは私のために完全に動作します。 – jononomo