タイトルは、Visual Studioを使ってASP.NET Webアプリ開発をやっているときにここ数年で遭遇するようになった現象。
ずばり下図のような画面になるのであった。
肝心の仕事の Word 文書やらなにやらが、この怒涛の XML ファイル群の下に追いやられてしまっている。
この XML ファイルの正体は、ASP.NET Web アプリ開発の際に開発用 Web サーバーとして起動される IIS Express が出力するトレースログだ。
実はこの XML 形式のトレースログのほかにも、ex130327.log というような日付を命名規則にもつファイル名で w3c 形式のアクセスログファイルも山積している。
必要なときには頼みの綱となる各種ログであるが、通常の開発業務においてはさしたる用はないとするのは自分だけだろうか?
そしてこれらログファイルがマイドキュメント以下に保存されるが故に、上図のような困った状況になるのに加え、誰かが自動で消してくれるわけでもないので、日々の開発業務のごとに着々とディスク容量を消費していくわけだ。
ましてやマイドキュメント以下なので、既定のOS設定だと、検索インデックスの対象にもなっており、これまたリソースの浪費と言える。
ログファイルの生成を無効化する
ということで、自分はこれら IIS Express のログ機能を無効に設定している。
以下はその手順。
マイドキュメント内に IISExpress というフォルダがあり、さらに config というフォルダがあるので、これを開く。
すると applicationhost.config というファイル名のファイルがある。
これはXML書式のテキストファイルなので、テキストエディタ(メモ帳でもいいがインテリセンスが効くし誤記はエラー報告してくれるのでVisual Studioがお勧め)で開く。
そして "logFile" を検索語として検索すると、下図の箇所が見つかるはずだ。
上図の赤丸のとおり、この logFile 要素と traceFailedRequestsLogging 要素の各々について、enabled 属性(もしenabled 属性が無ければ書き足して)に "false" を書き込む。
以上で、この applicationhost.config を上書き保存して完了だ。
自分の場合はとくに、SpecFlowで記述した自動化テストシナリオを、Selenium WebDriverを使ってブラウザを自動操縦することで自動化テストを何度も繰り返し実行する場合もあり、そのようなケースでログを無効化しておかないと、メキメキとログファイル群が発生する。
ということで、自分的には必須の環境設定である。