File::RotateLogs が大変便利でよく使っているのだが、これはファイルへ書き込むときに print を呼んでいる。 一方 にひりずむ::しんぷる - perl で復数のプロセスからログを吐くときは syswrite または flock すべし によると長いログを吐くときは syswrite にしないと混ざるとある。 よって File::RotateLogs も実は混ざることがあるのかなと思い、複数プロセスから長いログを吐きまくってみたが一向に混ざらなかった。 いろいろ調べた結果、open layer に最も低級な layer である :unix を指定すれば print 時も 1 つの write(2) になるようだった。 > cat test.pl open my $fh, ">:unix", "test.txt"; print $fh "a" x (1024 * 100);
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く