Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/NLogPublic

NLog config Example

Rolf Kristensen edited this pageMay 31, 2025 ·14 revisions

Save this file as "nlog.config" in the root of your application (Add to project withCopy if newer)

Simple config example:

<?xml version="1.0" encoding="utf-8" ?><nlogxmlns="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"      internalLogLevel="Warn"      internalLogFile="${basedir}/nlog-internal.txt">    <variablename="defaultLayout"value="${longdate}|${level}|${message:withException=true}" />    <targets>        <targetname="logfile"xsi:type="File"fileName="file.txt"layout="${defaultLayout}" />        <targetname="console"xsi:type="ColoredConsole"layout="${defaultLayout}" />    </targets>    <rules>        <loggername="*"minlevel="Debug"writeTo="logfile" />        <loggername="*"minlevel="Info"writeTo="console" />    </rules></nlog>

Advanced config example:

<?xml version="1.0" encoding="utf-8" ?><nlogxmlns="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"      internalLogLevel="Warn"      internalLogFile="${basedir}/logs/nlog-internal.txt">  <variablename="gmailUsername"value="${trim-whitespace:${file-contents:${basedir}/gmailusername.txt}}" />  <variablename="gmailPassword"value="${trim-whitespace:${file-contents:${basedir}/gmailpassword.txt}}" />  <extensions><!-- load NLog.Web to enable ASP.NET-specific functionality-->    <addassembly="NLog.Web" />  </extensions><!-- define various log targets-->  <targets><!-- write logs to file-->    <targetxsi:type="File"name="file"fileName="${basedir}/logs/${shortdate}.log"layout="${longdate} ${aspnet-request:servervariable=URL} ${uppercase:${level}} ${message}" /><!-- write log message to database-->    <targetxsi:type="Database"name="db"><!-- SQL command to be executed for each entry-->      <commandText>INSERT INTO [LogEntries](TimeStamp, Message, Level, Logger) VALUES(getutcdate(), @msg, @level, @logger)</commandText><!-- parameters for the command-->      <parametername="@msg"layout="${message}" />      <parametername="@level"layout="${level}" />      <parametername="@logger"layout="${logger}" /><!-- connection string-->      <dbProvider>System.Data.SqlClient</dbProvider>      <connectionString>server=.\SQLEXPRESS;database=MyLogs;integrated security=sspi</connectionString><!-- commands to install database-->      <install-command>        <text>CREATE DATABASE MyLogs</text>        <connectionString>server=.\SQLEXPRESS;database=master;integrated security=sspi</connectionString>        <ignoreFailures>true</ignoreFailures>      </install-command>      <install-command>        <text>          CREATE TABLE LogEntries(          id int primary key not null identity(1,1),          TimeStamp datetime2,          Message nvarchar(max),          level nvarchar(10),          logger nvarchar(128))        </text>      </install-command><!-- commands to uninstall database-->      <uninstall-command>        <text>DROP DATABASE MyLogs</text>        <connectionString>server=.\SQLEXPRESS;database=master;integrated security=sspi</connectionString>        <ignoreFailures>true</ignoreFailures>      </uninstall-command>    </target><!-- log message to event log-->    <targetxsi:type="EventLog"name="eventLog"source="NLog Demo"layout="${message}${newline}Call site: ${callsite:className=true:methodName=true}${newline}Logger: ${logger}">    </target><!-- increase the performance counter-->    <targetxsi:type="PerfCounter"name="pc1"categoryName="My Log"counterName="My Counter">    </target><!-- send mail through GMail server-->    <targetxsi:type="Mail"name="mail"smtpServer="smtp.gmail.com"smtpPort="587"enableSsl="true"smtpAuthentication="Basic"smtpUserName="${gmailUsername}"smtpPassword="${gmailPassword}"from="${gmailUsername}"to="${gmailUsername}"subject="NLogDemo logs"addNewLines="true"            /><!-- send mail asynchronously, so that it does not block the calling thread-->    <wrapper-targetxsi:type="AsyncWrapper"name="asyncMail">      <target-refname="mail"/>    </wrapper-target>    <wrapper-targetxsi:type="AspNetBufferingWrapper"name="allOutputs">      <wrapper-targetxsi:type="PostFilteringWrapper">        <compound-targetxsi:type="SplitGroup">          <target-refname="file" />          <target-refname="db" />          <target-refname="eventLog" />          <target-refname="pc1" />          <target-refname="asyncMail" />        </compound-target><!-- during normal execution only log Info messages-->        <defaultFilter>level >= LogLevel.Info</defaultFilter><!-- if there is at least one error, log everything from trace level-->        <whenexists="level >= LogLevel.Error"filter="level >= LogLevel.Trace" />      </wrapper-target>    </wrapper-target>  </targets>  <rules>    <loggername="*"minlevel="Trace"writeTo="allOutputs" />  </rules></nlog>

-Troubleshooting Guide - See available NLog Targets and Layouts:https://nlog-project.org/config

Configuration

Programmatic Configuration

Advanced

Extending NLog

Clone this wiki locally


[8]ページ先頭

©2009-2025 Movatter.jp