LoginSignup
1
0

More than 1 year has passed since last update.

NLogから既存のRichTextBoxにログ出力する

Last updated at Posted at 2022-07-28

環境

  • .NET Framework 4.8
  • NLog 5.0.1
  • NLog.Windows.Form 4.6.0

手順

※NLogが既に使える状態になっているのを前提とします。

  1. NuGetからNLog.Windows.Formをインストール
  2. フォームにRichTextBoxを配置
  3. ログ設定を書き込む

1. NuGetからインストール

NLog.Windows.Formをインストールしてください。

2. RichTextBoxを配置

ログを書き込みたいRichTextBoxを配置してください。
既に配置済みであればそれをそのまま使います。

3. ログ設定を書き込む

.configファイルではなく、コードにログ設定を書き込むことにします。
Form1のコンストラクタに書いてみましょう。

Form1.cs
public partial class Form1 : Form
{
    public Form1()
    {
        var target = new NLog.Windows.Forms.RichTextBoxTarget();
        {
            Name = "richTextBox", // ターゲット名
            TargetRichTextBox = richTextBox1, // ログ出力したいRichTextBoxを指定
            AutoScroll = true, // オートスクロール有効
            Layout = @"${date:format=yyyy-MM-dd HH\:mm\:ss} ${level:uppercase=true} ${message}", // ログ出力レイアウト
        };
        // 既存のルールに追加
        var config = NLog.LogManager.Configuration;
        config.AddRule(NLog.LogLevel.Info, NLog.LogLevel.Fatal, target);
        NLog.LogManager.Configuration = config;
    }
}

ターゲット名などのプロパティや、出力するログレベルは必要に応じて変更してください。
https://github.com/NLog/NLog/wiki/RichTextBox-target

これで、ログ出力を行うとRichTextBoxにも同じ内容が出力されるようになりました。

1
0
0

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
  3. You can use dark theme
What you can do with signing up
1
0