Click here to Skip to main content
15,895,142 members
Articles / Programming Languages / C#

Logging with NLog

Rate me:
Please Sign up or sign in to vote.
1.68/5 (13 votes)
6 Jan 20073 min read 52.3K   69   20  
The article describes how to configure nlog to log reports as per your requirement
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NLog.Win32</name>
    </assembly>
    <members>
        <member name="T:NLog.Win32.LayoutRenderers.ASPApplicationValueLayoutRenderer">
            <summary>
            ASP Application variable.
            </summary>
        </member>
        <member name="M:NLog.Win32.LayoutRenderers.ASPApplicationValueLayoutRenderer.GetEstimatedBufferSize(NLog.LogEventInfo)">
            <summary>
            Returns the estimated number of characters that are needed to
            hold the rendered value for the specified logging event.
            </summary>
            <param name="logEvent">Logging event information.</param>
            <returns>The number of characters.</returns>
            <remarks>
            Because ASP target uses COM Interop which is quite expensive, this method always returns 64.
            </remarks>
        </member>
        <member name="M:NLog.Win32.LayoutRenderers.ASPApplicationValueLayoutRenderer.Append(System.Text.StringBuilder,NLog.LogEventInfo)">
            <summary>
            Renders the specified ASP Application variable and appends it to the specified <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <param name="builder">The <see cref="T:System.Text.StringBuilder"/> to append the rendered data to.</param>
            <param name="logEvent">Logging event.</param>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.ASPApplicationValueLayoutRenderer.Variable">
            <summary>
            The variable name.
            </summary>
        </member>
        <member name="T:NLog.Win32.LayoutRenderers.ASPRequestValueLayoutRenderer">
            <summary>
            ASP Request variable
            </summary>
        </member>
        <member name="M:NLog.Win32.LayoutRenderers.ASPRequestValueLayoutRenderer.GetEstimatedBufferSize(NLog.LogEventInfo)">
            <summary>
            Returns the estimated number of characters that are needed to
            hold the rendered value for the specified logging event.
            </summary>
            <param name="logEvent">Logging event information.</param>
            <returns>The number of characters.</returns>
            <remarks>
            Because ASP target uses COM Interop which is quite expensive, this method always returns 64.
            </remarks>
        </member>
        <member name="M:NLog.Win32.LayoutRenderers.ASPRequestValueLayoutRenderer.Append(System.Text.StringBuilder,NLog.LogEventInfo)">
            <summary>
            Renders the specified ASP Request variable and appends it to the specified <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <param name="builder">The <see cref="T:System.Text.StringBuilder"/> to append the rendered data to.</param>
            <param name="logEvent">Logging event.</param>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.ASPRequestValueLayoutRenderer.Item">
            <summary>
            The item name. The QueryString, Form, Cookies, or ServerVariables collection variables having the specified name are rendered.
            </summary>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.ASPRequestValueLayoutRenderer.QueryString">
            <summary>
            The QueryString variable to be rendered.
            </summary>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.ASPRequestValueLayoutRenderer.Form">
            <summary>
            The form variable to be rendered.
            </summary>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.ASPRequestValueLayoutRenderer.Cookie">
            <summary>
            The cookie to be rendered.
            </summary>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.ASPRequestValueLayoutRenderer.ServerVariable">
            <summary>
            The ServerVariables item to be rendered.
            </summary>
        </member>
        <member name="T:NLog.Win32.LayoutRenderers.ASPSessionValueLayoutRenderer">
            <summary>
            ASP Session variable.
            </summary>
        </member>
        <member name="M:NLog.Win32.LayoutRenderers.ASPSessionValueLayoutRenderer.GetEstimatedBufferSize(NLog.LogEventInfo)">
            <summary>
            Returns the estimated number of characters that are needed to
            hold the rendered value for the specified logging event.
            </summary>
            <param name="logEvent">Logging event information.</param>
            <returns>The number of characters.</returns>
            <remarks>
            Because ASP target uses COM Interop which is quite expensive, this method always returns 64.
            </remarks>
        </member>
        <member name="M:NLog.Win32.LayoutRenderers.ASPSessionValueLayoutRenderer.Append(System.Text.StringBuilder,NLog.LogEventInfo)">
            <summary>
            Renders the specified ASP Session variable and appends it to the specified <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <param name="builder">The <see cref="T:System.Text.StringBuilder"/> to append the rendered data to.</param>
            <param name="logEvent">Logging event.</param>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.ASPSessionValueLayoutRenderer.Variable">
            <summary>
            Session variable name.
            </summary>
        </member>
        <member name="T:NLog.Win32.LayoutRenderers.RegistryLayoutRenderer">
            <summary>
            A value from the Registry.
            </summary>
        </member>
        <member name="M:NLog.Win32.LayoutRenderers.RegistryLayoutRenderer.GetEstimatedBufferSize(NLog.LogEventInfo)">
            <summary>
            Returns the estimated number of characters that are needed to
            hold the rendered value for the specified logging event.
            </summary>
            <param name="logEvent">Logging event information.</param>
            <returns>The number of characters.</returns>
            <remarks>
            This function always returns 32.
            </remarks>
        </member>
        <member name="M:NLog.Win32.LayoutRenderers.RegistryLayoutRenderer.Append(System.Text.StringBuilder,NLog.LogEventInfo)">
            <summary>
            Reads the specified registry key and value and appends it to
            the passed <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <param name="builder">The <see cref="T:System.Text.StringBuilder"/> to append the rendered data to.</param>
            <param name="logEvent">Logging event. Ignored.</param>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.RegistryLayoutRenderer.Value">
            <summary>
            Registry value.
            </summary>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.RegistryLayoutRenderer.DefaultValue">
            <summary>
            The value to be output when the specified registry key or value is not found.
            </summary>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.RegistryLayoutRenderer.Key">
            <summary>
            Registry key.
            </summary>
            <remarks>
            Must have one of the forms:
            <ul>
            <li>HKLM\Key\Full\Name</li>
            <li>HKEY_LOCAL_MACHINE\Key\Full\Name</li>
            <li>HKCU\Key\Full\Name</li>
            <li>HKEY_CURRENT_USER\Key\Full\Name</li>
            </ul>
            </remarks>
        </member>
        <member name="T:NLog.Win32.LayoutRenderers.WindowsIdentityLayoutRenderer">
            <summary>
            Thread Windows identity information (username)
            </summary>
        </member>
        <member name="M:NLog.Win32.LayoutRenderers.WindowsIdentityLayoutRenderer.GetEstimatedBufferSize(NLog.LogEventInfo)">
            <summary>
            Returns the estimated number of characters that are needed to
            hold the rendered value for the specified logging event.
            </summary>
            <param name="logEvent">Logging event information.</param>
            <returns>The number of characters.</returns>
            <remarks>
            If the exact number is not known or
            expensive to calculate this function should return a rough estimate
            that's big enough in most cases, but not too big, in order to conserve memory.
            </remarks>
        </member>
        <member name="M:NLog.Win32.LayoutRenderers.WindowsIdentityLayoutRenderer.Append(System.Text.StringBuilder,NLog.LogEventInfo)">
            <summary>
            Renders the current thread windows identity information and appends it to the specified <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <param name="builder">The <see cref="T:System.Text.StringBuilder"/> to append the rendered data to.</param>
            <param name="logEvent">Logging event.</param>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.WindowsIdentityLayoutRenderer.Domain">
            <summary>
            Whether domain name should be included.
            </summary>
        </member>
        <member name="P:NLog.Win32.LayoutRenderers.WindowsIdentityLayoutRenderer.UserName">
            <summary>
            Whether username should be included.
            </summary>
        </member>
        <member name="T:NLog.Win32.Targets.ASPResponseTarget">
            <summary>
            Outputs logging messages through the ASP Response object.
            </summary>
        </member>
        <member name="M:NLog.Win32.Targets.ASPResponseTarget.Write(NLog.LogEventInfo)">
            <summary>
            Outputs the rendered logging event through the <c>OutputDebugString()</c> Win32 API.
            </summary>
            <param name="logEvent">The logging event.</param>
        </member>
        <member name="P:NLog.Win32.Targets.ASPResponseTarget.AddComments">
            <summary>
            Add &lt;!-- --&gt; comments around all written texts.
            </summary>
        </member>
        <member name="T:NLog.Win32.Targets.EventLogTarget">
            <summary>
            Writes log message to the Event Log.
            </summary>
            <example>
            <p>
            To set up the target in the <a href="config.html">configuration file</a>, 
            use the following syntax:
            </p>
            <xml src="examples/targets/EventLog/EventLogTarget.nlog" />
            <p>
            This assumes just one target and a single rule. More configuration
            options are described <a href="config.html">here</a>.
            </p>
            <p>
            To set up the log target programmatically use code like this:
            </p>
            <cs src="examples/targets/EventLog/EventLogTarget.cs" />
            </example>
            <remarks>
            Currently there's no way to pass EventID or Category 
            event log parameters. This issue may be addressed
            in future releases.
            </remarks>
        </member>
        <member name="M:NLog.Win32.Targets.EventLogTarget.#ctor">
            <summary>
            Creates a new instance of <see cref="T:NLog.Win32.Targets.EventLogTarget"/> and 
            </summary>
        </member>
        <member name="M:NLog.Win32.Targets.EventLogTarget.Write(NLog.LogEventInfo)">
            <summary>
            Writes the specified logging event to the event log. 
            </summary>
            <param name="logEvent">The logging event.</param>
        </member>
        <member name="P:NLog.Win32.Targets.EventLogTarget.MachineName">
            <summary>
            Machine name on which Event Log service is running.
            </summary>
        </member>
        <member name="P:NLog.Win32.Targets.EventLogTarget.Source">
            <summary>
            The value to be used as the event Source.
            </summary>
            <remarks>
            By default this is the friendly name of the current AppDomain.
            </remarks>
        </member>
        <member name="P:NLog.Win32.Targets.EventLogTarget.Log">
            <summary>
            Name of the Event Log to write to. This can be System, Application or 
            any user-defined name.
            </summary>
        </member>
        <member name="T:NLog.Win32.Targets.MSMQTarget">
            <summary>
            Writes log message to the specified message queue handled by MSMQ.
            </summary>
            <example>
            <p>
            To set up the target in the <a href="config.html">configuration file</a>, 
            use the following syntax:
            </p>
            <xml src="examples/targets/MSMQ/MSMQTarget.nlog" />
            <p>
            You can use a single target to write to multiple queues (similar to writing to multiple files with the File target).
            </p>
            <xml src="examples/targets/MSMQ/MSMQTargetMultiple.nlog" />
            <p>
            The above examples assume just one target and a single rule. 
            More configuration options are described <a href="config.html">here</a>.
            </p>
            <p>
            To set up the log target programmatically use code like this:
            </p>
            <cs src="examples/targets/MSMQ/MSMQTarget.cs" />
            </example>
        </member>
        <member name="M:NLog.Win32.Targets.MSMQTarget.PopulateLayouts(NLog.LayoutCollection)">
            <summary>
            Adds all layouts used by this target to the specified collection.
            </summary>
            <param name="layouts">The collection to add layouts to.</param>
        </member>
        <member name="M:NLog.Win32.Targets.MSMQTarget.Write(NLog.LogEventInfo)">
            <summary>
            Writes the specified logging event to a queue specified in the Queue 
            parameter.
            </summary>
            <param name="logEvent">The logging event.</param>
        </member>
        <member name="M:NLog.Win32.Targets.MSMQTarget.PrepareMessage(NLog.LogEventInfo)">
            <summary>
            Prepares a message to be sent to the message queue.
            </summary>
            <param name="logEvent">The log event to be used when calculating label and text to be written.</param>
            <returns>The message to be sent</returns>
            <remarks>
            You may override this method in inheriting classes
            to provide services like encryption or message 
            authentication.
            </remarks>
        </member>
        <member name="P:NLog.Win32.Targets.MSMQTarget.Queue">
            <summary>
            Name of the queue to write to.
            </summary>
            <remarks>
            To write to a private queue on a local machine use <c>.\private$\QueueName</c>.
            For other available queue names, consult MSMQ documentation.
            </remarks>
        </member>
        <member name="P:NLog.Win32.Targets.MSMQTarget.Label">
            <summary>
            The label to associate with each message.
            </summary>
            <remarks>
            By default no label is associated.
            </remarks>
        </member>
        <member name="P:NLog.Win32.Targets.MSMQTarget.CreateQueueIfNotExists">
            <summary>
            Create the queue if it doesn't exists.
            </summary>
        </member>
        <member name="P:NLog.Win32.Targets.MSMQTarget.Encoding">
            <summary>
            Encoding to be used when writing text to the queue.
            </summary>
        </member>
        <member name="P:NLog.Win32.Targets.MSMQTarget.UseXmlEncoding">
            <summary>
            Use the XML format when serializing message.
            </summary>
        </member>
        <member name="P:NLog.Win32.Targets.MSMQTarget.Recoverable">
            <summary>
            Use recoverable messages (with guaranteed delivery).
            </summary>
        </member>
        <member name="T:NLog.Win32.Targets.OutputDebugStringTarget">
            <summary>
            Outputs logging messages through the <c>OutputDebugString()</c> Win32 API.
            </summary>
        </member>
        <member name="M:NLog.Win32.Targets.OutputDebugStringTarget.Write(NLog.LogEventInfo)">
            <summary>
            Outputs the rendered logging event through the <c>OutputDebugString()</c> Win32 API.
            </summary>
            <param name="logEvent">The logging event.</param>
        </member>
        <member name="M:NLog.Win32.Targets.OutputDebugStringTarget.OutputDebugString(System.String)">
            <summary>
            Stub for OutputDebugString native method
            </summary>
            <param name="message">the string to output</param>
        </member>
    </members>
</doc>

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.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions