【C#】NLog

毎回忘れるのでメモ。

NLogとは

C#でログ吐き出すときに使うやつ。Log4netでもいいけど、NLogのほうが簡単(個人的に)。

インストール

Nugetから NLog.Config をインストールする。
※NLog.Config に NLogは含まれている・・・らしい

設定ファイル

NLog.config ファイルが作成されているので、適当に編集。
コメントアウトされてる部分をコメント外に出しただけだけど・・・・

NLog.config

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> <variable name="myvar" value="myvalue"/> <targets> <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message}" /> </targets> <rules> <logger name="*" minlevel="Debug" writeTo="f" /> </rules>
</nlog>

実装

MainExecution.cs

namespace Sample
{ class MainExecution { private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); public static bool Test() { bool result = true; logger.Info("Test Start"); ~~ なんか処理 ~~ logger.Info("Test End"); return result; } }
}

出力結果

GeneXus Extensionの場合

だいたいこれをいつも忘れる。

Catalog.xmlに以下を追加

Catalog.xml

<!-- NLog -->
<File Name="NLog.dll" Target="Packages" />
<File Name="NLog.config" Target="." />

これをしないとVSから実行してもファイルがコピーされない。。。

以上です。

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください