もくじ
やりたいこと
C#でアプリをつくっているときに、もう何でもいいから今すぐ簡単にログを出力させて、それを見たい。
例えば、VisualStudioでデバッグ実行がしたくてもできないけど、どの経路を通ったかを知りたくて、でもMessageBoxは出したくない、というとき。
やり方
下記のような簡単なログ用クラスを貼り付けて使用する。
終わったら、クラスごと消す。
// using System.IO;
static class LogOnDesktop
{
public static void WriteLogToDesktopLogFile(string line)
{
var logPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\log.log";
File.AppendAllText(logPath, DateTime.Now.ToString("hh:mm:ss.fff") + " " + line);
File.AppendAllText(logPath, Environment.NewLine);
}
}
で、このクラスのWriteLogToDesktopLogFile()
を実行するとデスクトップにlog.log
ファイルができるが、そいつを以前書いた「Tailっぽくログを監視できるバッチファイル」を使ってリアルタイムで見てやれば、簡易的にログ監視体制の完成。
もしログに、ログを残したメソッド名を記録したければ、WriteLogToDesktopLogFile()
を呼ぶときに下記のようにしてやればよい。
// using System.Reflection;
LogOnDesktop.WriteLogToDesktopLogFile(MethodBase.GetCurrentMethod().Name);
追記
下記ページのような方法もよさそう。