LoginSignup
0
0

C# ログ出力 その1 NLog、log4net、Serilog

Last updated at Posted at 2024-02-06

1. NLog:

  • 特徴:

    • 柔軟でカスタマイズ可能なログライブラリ。
    • 豊富なログターゲットやフィルタリングの機能があります。
    • 設定はXMLまたはC#コードで行えます。
  • 基本的な使用法:

    • NLogをプロジェクトに統合し、ログ出力先やログレベルを設定します。
    • ロギングはLogManager.GetCurrentClassLogger()を使用して行います。
  • サンプル設定:

    <nlog>
      <targets>
        <target name="file" xsi:type="File" fileName="log.txt" />
      </targets>
      <rules>
        <logger name="*" minlevel="Info" writeTo="file" />
      </rules>
    </nlog>
    

2. log4net:

  • 特徴:

    • Apache log4netは柔軟性があり、様々なアペンダー(出力先)やレイアウトが利用可能です。
    • XMLまたはC#コードで設定が可能です。
  • 基本的な使用法:

    • log4netをプロジェクトに統合し、log4net.Config.XmlConfigurator.Configure()で設定を読み込みます。
    • ロギングはILogインターフェースを使用します。
  • サンプル設定:

    <log4net>
      <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
        </layout>
      </appender>
      <root>
        <level value="INFO" />
        <appender-ref ref="ConsoleAppender" />
      </root>
    </log4net>
    

3. Serilog:

  • 特徴:

    • 構造化されたログを重視し、豊富なエコシステムを持つログライブラリ。
    • Fluent APIを使用して設定を行います。
  • 基本的な使用法:

    • Serilogをプロジェクトに導入し、設定を行います。
    • Logクラスを使用してログを出力します。
  • サンプル設定:

    Log.Logger = new LoggerConfiguration()
        .WriteTo.Console()
        .WriteTo.File("log.txt")
        .CreateLogger();
    

これらのログライブラリはいずれも設定方法やカスタマイズの手法が異なります。プロジェクトの要件や開発者の好みによって選択することが一般的です。それぞれの公式ドキュメントを参照しながら、プロジェクトに最適なログライブラリを選択し、設定することが重要です。

0
0
1

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
0
0