AspNetTrace target

Julian Verdurmen edited this page Jan 19, 2016 · 7 revisions
Clone this wiki locally

Writes log messages to the ASP.NET trace.

Supported in .NET and Mono

Configuration Syntax

  <target xsi:type="AspNetTrace" name="String" layout="Layout" />

Read more about using the Configuration File.


General Options

name - Name of the target

Layout Options

layout - Layout used to format log messages. Layout Required. Default: ${longdate}|${level:uppercase=true}|${logger}|${message}


Log entries can then be viewed by navigating to http://server/path/Trace.axd.

AspNetTrace uses the HttpContext.Current. Therefore async/buffered writing does not works for AspNetTrace due to different thread.


In order to use this target, put the following code in the configuration file such as Web.nlog or NLog.config:

<?xml version="1.0" ?>
<nlog xmlns=""
        <target name="aspnet" xsi:type="ASPNetTrace" layout="${logger} ${message}" />
        <logger name="*" minlevel="Debug" writeTo="aspnet" />

You can also configure the target programmatically, by putting the code in Application_Start event handler or similar:

using System;
using System.Web;

using NLog;
using NLog.Web.Targets;

namespace SomeWebApplication
    public class Global : System.Web.HttpApplication
        // this event handler is executed at the very start of the web application
        // so this is a good place to configure targets programmatically
        // alternative you could place this code in a static type constructor
        protected void Application_Start(Object sender, EventArgs e)
            AspNetTraceTarget target = new AspNetTraceTarget();
            target.Layout = "${logger} ${message}";

            NLog.Config.SimpleConfigurator.ConfigureForTargetLogging(target, LogLevel.Debug);