LoginSignup
1

More than 1 year has passed since last update.

[C#] もうとにかく今すぐデバッグのためのログを出力したいときのクラス/メソッド

Last updated at Posted at 2020-11-12

もくじ

やりたいこと

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);

追記

下記ページのような方法もよさそう。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1