|
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
</configSections>
<system.data>
<DbProviderFactories>
<add name="MySql Data Provider" invariant="System.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" description="MySql data provider" />
</DbProviderFactories>
</system.data>
<connectionStrings>
<add name="MySqlTraceConnString" connectionString="Data Source=localhost;Initial Catalog=DiagnosticsDB;User Id=test;Password=test;"
providerName="System.Data.MySqlClient" />
</connectionStrings>
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="TestSource" switchValue="Error">
<listeners>
<add name="nlog" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="nlog" type="LowLevelDesign.NLog.NLogTraceListener, LowLevelDesign.NLog.Ext" />
</sharedListeners>
</system.diagnostics>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<extensions>
<add prefix="lld" assembly="LowLevelDesign.NLog.Ext" />
</extensions>
<targets>
<target name="database" xsi:type="Database">
<connectionStringName>MySqlTraceConnString</connectionStringName>
<commandText>
insert into LogTable(machine_name, process_id, thread_id, time_stamp, level, logger,
activity_id, related_activity_id, message, exception) values (@machine_name, @process_id, @thread_id,
@time_stamp, @level, @logger, @activity_id, @related_activity_id, @message, @exception);
</commandText>
<parameter name="@machine_name" layout="${machinename}" />
<parameter name="@process_id" layout="${processid}" />
<parameter name="@thread_id" layout="${threadid}" />
<parameter name="@time_stamp" layout="${longdate}" />
<parameter name="@level" layout="${uppercase:${level}}" />
<parameter name="@logger" layout="${logger}" />
<parameter name="@activity_id" layout="${lld.activityid}" />
<parameter name="@related_activity_id" layout="${event-context:item=RelatedActivityID}" />
<parameter name="@message" layout="${message}" />
<parameter name="@exception" layout="${exception:format=tostring" />
</target>
<target name="eventlog" xsi:type="eventlog" log="Application" source="NLog" layout="${lld.activityid}|${logger}|${uppercase:${level}}|${message}${onexception:|Exception occurred\:${exception:format=tostring}}" />
</targets>
<rules>
<logger name="TestLogger" minlevel="Info" writeTo="eventlog" />
<logger name="TestLogger" minlevel="Error" writeTo="database" />
<logger name="TestSource" minlevel="Info" writeTo="eventlog" />
<logger name="TestSource" minlevel="Error" writeTo="database" />
</rules>
</nlog>
</configuration>
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.