.NetFrameworkでNlog(Nlog.config)を使う

.NetFramework4.5でNlogを使ってみた。
手順は以下の通り。

1. NugetパッケージマネージャーでNlogをインストールする
2. NLog.configを設定する
3. ターゲットClassにコーディングする

1. NugetパッケージマネージャーでNlogをインストールする
インストールするパッケージは以下の通り。
  • NLog
  • NLog.Config
  • NLog.Schema(NLog.Configと同時にインストールされる)

2. 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">

    <targets>
        <target xsi:type="File" name="logfile" fileName="./logs/${shortdate}.log"
                encoding="UTF-8"
                archiveFileName="${basedir}/logs/archives/archive.{#}.log"
                archiveEvery="Day"
                archiveNumbering="Rolling"
                maxArchiveFiles="7"
                layout="${longdate},${uppercase:${level}},${callsite},${callsite-linenumber},${message}" />
        <target xsi:type="Debugger" name="debugger" layout="${longdate} ${uppercase:${level}}|${callsite}|${callsite-linenumber}|${message}|${stacktrace}" />
    </targets>

    <rules>
        <logger name="*" minlevel="Debug" writeTo="logfile" />
        <logger name="*" minlevel="Trace" writeTo="debugger" />
    </rules>
</nlog>

3. ターゲットClassにコーディングする
Loggerを定義して、Logを貼りまくる。
HomeController.csは以下の通り。
using NLog;

namespace WebMVC.Controllers
{
    public class HomeController : Controller
    {
        public static Logger logger = LogManager.GetCurrentClassLogger();

        public ActionResult Index()
        {
            logger.Trace("trace log message");
            logger.Debug("debug log message");
            logger.Info("info log message");
            logger.Warn("warn log message");
            logger.Error("error log message");
            logger.Fatal("fatal log message");


            return View();
        }

これでファイルと、デバッグコンソールに出力される。
(参考)

Nlogの基本的な使い方が記載されて便利。

→Nlog.confの基本的な記述方法が記載されてて便利。

NLogの構成が説明されてて便利。

Visual StudioのDebugコンソールへの出力方法が記載されてる。

Log messageの詳細が記載されている。


コメント

このブログの人気の投稿

ソリューション構成ごとにconfigファイルを作成する

C++の古いプロジェクトのビルドでerror MIDL2311 : statements outside library block are illegal in mktyplib compatability mode

web.config debug/releaseの内容を変換構文を使って切り替える