-
Notifications
You must be signed in to change notification settings - Fork 1.4k
XML config include Example
Rolf Kristensen edited this page May 17, 2021
·
7 revisions
Example with a <include />
and <variable />
in the XML config
File to be included.
Contains one target and needs ${productName}
<?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">
<!-- This file will be included. -->
<!-- Note: Attributes on the "nlog" element are ignored for this file, the ones of the main config will be used. -->
<!-- the variable ${productName} must be defined in the main nlog.config -->
<targets>
<target name="file1" xsi:type="File" fileName="D:\logs\${productName}\${shortdate}.log"
layout="${time} [${level:uppercase=true}] |${logger}| ${message} ${exception}" />
</targets>
</nlog>
The main file.
e.g. in the root folder of your application. Contains in this example no targets, only <include />,
,
`
<?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"
autoReload="true"
internalLogLevel="Off" >
<!-- override productName in includes, so it could be used in d:\nlog-file.config -->
<variable name="productName" value="myProduct"/>
<include file="D:\nlog-file.config" ignoreErrors="true" />
<!-- note: will be set after the include are loaded -->
<variable name="myVar" value="myValue"/>
<rules>
<logger name="*" minlevel="Info" writeTo="file1" enabled="false" />
<logger name="PerformanceLogger" minlevel="Trace" writeTo="file1" enabled="false" /> <!-- not enabled, only when tracing -->
</rules>
</nlog>
- Troubleshooting Guide - See available NLog Targets and Layouts: https://nlog-project.org/config
- Getting started
- How to use structured logging
- Troubleshooting
- FAQ
- Articles about NLog
-
All targets, layouts and layout renderers
Popular: - Using NLog with NLog.config
- Using NLog with appsettings.json