もなかアイスの試食品

「とりあえずやってみたい」そんな気持ちが先走りすぎて挫折が多い私のメモ書きみたいなものです.

【C#】「tail -f」コマンドっぽいものを作ってみた

はじめに

LinuxでWEBアプリを作っていると、Apacheのログ監視、DBのログ監視とかで「tail -f」コマンドをよく使う

最近はWindowsApachePHPでアプリを開発しているけど、tailコマンドを使いたくなることが結構ある

Windowsでtailコマンドっぽいことをやろうと調べてみると、「PowerShell 3.0 以上」のソースコードが出て来る

自分の開発環境はWindows 7なので、PowerShell 2.0らしい

Windows 7 SP1だとPowerShellのバージョンが上がるらしい。自分のPowerShellのバージョン調べてなかった

あとコマンド長いし、大文字小文字混ざっている(;´Д`)

怪しいソフトは入れられないし、慣れていないPowerShell使うのが面倒なのでC#で作ってみた

ソースコード

以下のサイトを参考にして作成した

sugamasao.hatenablog.com

参考元ではRubyで作成しているけど、ブログ内で

ファイルを一行ずつ読み込み&出力で次の一行が無ければ sleep で待てば良さそう。

と書いてあるので、そのままC#で作ってみた

tail -fコマンドっぽいもの

使い方

ビルドしたときのバイナリ名が「tail_file.exe」で、環境変数Pathを通すと以下のコマンドでログ監視的なことができる

tail_file <ファイル名>

Linuxの「tail -f」は、実行時に文末の数行を表示するけど、今回のソースは実行時に先頭から文末まですべて出力する

数MBのファイルで実行した時、結構待たされるかもしれない