﻿<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"><head><link rel="SHORTCUT ICON" href="./../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { backgroundImageName: tabLeftBG.gif; }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { backgroundImageName: tabRightBG.gif; }.OH_footer { backgroundImageName: footer_slice.gif; background-position: top; background-repeat: repeat-x; }</style><link rel="stylesheet" type="text/css" href="./../styles/branding.css" /><link rel="stylesheet" type="text/css" href="./../styles/branding-en-US.css" /><style type="text/css">
			body
			{
			border-left:5px solid #e6e6e6;
			overflow-x:scroll;
			overflow-y:scroll;
			}
		</style><script src="./../scripts/branding.js" type="text/javascript"><!----></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>LoggingEventData Fields</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="LoggingEventData structure, fields" /><meta name="Microsoft.Help.Id" content="Fields.T:log4net.Core.LoggingEventData" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Core" /><meta name="file" content="Fields_T_log4net_Core_LoggingEventData" /><meta name="guid" content="Fields_T_log4net_Core_LoggingEventData" /><link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" /><meta name="SelfBranded" content="true" /></head><body onload="onLoad()" class="primary-mtps-offline-document"><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">LoggingEventData Fields</td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span>The <a href="T_log4net_Core_LoggingEventData.htm" target="">LoggingEventData</a> type exposes the following members.<div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Fields</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><table id="memberList" class="members"><tr><th class="ps_iconColumn">
							 
						</th><th class="ps_nameColumn">Name</th><th class="ps_descriptionColumn">Description</th></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_Domain.htm" target="">Domain</a></td><td><div class="summary">
            String representation of the AppDomain.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_ExceptionString.htm" target="">ExceptionString</a></td><td><div class="summary">
            The string representation of the exception
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_Identity.htm" target="">Identity</a></td><td><div class="summary">
            String representation of the identity.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_Level.htm" target="">Level</a></td><td><div class="summary">
            Level of logging event.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_LocationInfo.htm" target="">LocationInfo</a></td><td><div class="summary">
            Location information for the caller.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_LoggerName.htm" target="">LoggerName</a></td><td><div class="summary">
            The logger name.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_Message.htm" target="">Message</a></td><td><div class="summary">
            The application supplied message.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_Properties.htm" target="">Properties</a></td><td><div class="summary">
            Additional event specific properties
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_ThreadName.htm" target="">ThreadName</a></td><td><div class="summary">
            The name of thread
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_TimeStamp.htm" target="">TimeStamp</a></td><td><div class="summary">
            The time the event was logged
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubfield.gif" alt="Public field" title="Public field" /></td><td><a href="F_log4net_Core_LoggingEventData_UserName.htm" target="">UserName</a></td><td><div class="summary">
            String representation of the user
            </div></td></tr></table><a href="#mainBody" target="">Back to Top</a><a name="seeAlsoSection"><!----></a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div class="seeAlsoStyle"><a href="T_log4net_Core_LoggingEventData.htm" target="">LoggingEventData Structure</a></div><div class="seeAlsoStyle"><a href="N_log4net_Core.htm" target="">log4net.Core Namespace</a></div></div></div></div></div><div id="OH_footer" class="OH_footer"><p>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</p><p><a href="http://logging.apache.org/log4net/" target="_blank"><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /> 
						Copyright 2004-2015 The Apache Software Foundation (http://logging.apache.org/log4net/)</a></p><div class="OH_feedbacklink"><a href="mailto:http://logging.apache.org/log4net/mail-lists.html?subject=Apache+log4net%e2%84%a2+SDK+Documentation+LoggingEventData+Fields+100+EN-US&amp;body=Your%20feedback%20is%20used%20to%20improve%20the%20documentation%20and%20the%20product.%20Your%20e-mail%20address%20will%20not%20be%20used%20for%20any%20other%20purpose%20and%20is%20disposed%20of%20after%20the%20issue%20you%20report%20is%20resolved.%20While%20working%20to%20resolve%20the%20issue%20that%20you%20report%2c%20you%20may%20be%20contacted%20via%20e-mail%20to%20get%20further%20details%20or%20clarification%20on%20the%20feedback%20you%20sent.%20After%20the%20issue%20you%20report%20has%20been%20addressed%2c%20you%20may%20receive%20an%20e-mail%20to%20let%20you%20know%20that%20your%20feedback%20has%20been%20addressed.">Send Feedback</a> on this topic to http://logging.apache.org/log4net/mail-lists.html.</div></div></body></html>