C#でデバッグログをファイル出力する方法

C#でデバッグログをファイル出力する方法をご紹介します。

条件

  • Visual Studio 2017

デザイン

コンポーネントの配置

ここでは適当にボタンを2つ配置します。

実装

イベントハンドラの設定

デザイン画面で、配置したそれぞれのボタンをダブルクリックして、クリックイベントの関数を自動生成します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace sample3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {

        }
    }
}

処理の実装

コンストラクタに、デバッグログ出力の処理を記載します。

  • デスクトップに「debug.txt」というログファイルを出力するようにします。
  • Debug.WriteLine(“・・・”); で出力するログを記述します。

具体的には以下のように記述します。

DefaultTraceListener dtl = (DefaultTraceListener)Debug.Listeners["Default"];
dtl.LogFileName = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\debug.txt"; // デスクトップのdebug.txtにログを出力する。
Debug.WriteLine("◆デバッグログ出力開始");

また、ボタンクリックイベントの関数にもログ出力を記述します。

以下がソース全体です。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace sample3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            DefaultTraceListener dtl = (DefaultTraceListener)Debug.Listeners["Default"];
            dtl.LogFileName = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\debug.txt"; // デスクトップのdebug.txtにログを出力する。
            Debug.WriteLine("◆デバッグログ出力開始");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Debug.WriteLine("ボタン1が押されました!");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Debug.WriteLine("ボタン2が押されました!");
        }
    }
}

実行結果

アプリを起動して、以下の順番でボタンを押します。

  1. ボタン1
  2. ボタン2
  3. ボタン1

デスクトップに出力されるログファイル「debug.txt」を見ると、以下のように出力されています。

◆デバッグログ出力開始
ボタン1が押されました!
ボタン2が押されました!
ボタン1が押されました!

参考

@IT:デバッグ・メッセージをファイルに出力するには?

https://www.atmarkit.co.jp/fdotnet/dotnettips/146debugonfile/debugonfile.html

dobon.net:特殊ディレクトリのパスを取得する

https://dobon.net/vb/dotnet/file/getfolderpath.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です