[ 
https://issues.apache.org/jira/browse/LOG4NET-250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16863070#comment-16863070
 ] 

Ian Gray commented on LOG4NET-250:
----------------------------------

I am using version 2.0.7 and am seeing huge handle usage as each log operation 
is getting the user name even though we don't log that information, it seems 
that if you use GlobalContext properties a call will be made to 
WindowsIdentity.GetCurrent().Name 'just in case'.

 

> Drastically decrease amount of time needed for LoggingEvent.UserName
> --------------------------------------------------------------------
>
>                 Key: LOG4NET-250
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-250
>             Project: Log4net
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 1.2.10
>            Reporter: Hao Zhang
>            Priority: Major
>             Fix For: 1.2/2.0 Maintenance Release
>
>
> Currently, each LoggingEvent retrieves the logged on user using 
> WindowsIdentity.GetCurrent() which takes a long time
> One can obtain drastic improvements by switching to Environment.UserDomain 
> and Environment.UserName
> Here are some numbers on my box running Windows XP SP3, .NET 2.0, debug mode.
> Using Environment:
>             for (int i = 0; i < 50000; i++)
>             {
>                var x = (Environment.UserDomainName + "\\" + 
> Environment.UserName);
>             }
> takes 4294 milliseconds to run (4.294) using Stopwatch
> Using WindowsIdentity:
>             for (int i = 0; i < 50000; i++)
>             {
>                 var x = (WindowsIdentity.GetCurrent().Name);
>             }
>             start.Stop();
> takes 20191 (20 seconds) milliseconds to run,
> Thus, it takes almost 5x longer to use WindowsIdentity.
> This isn't much of an issue if you're not logging extremely high quantities 
> or do not log the user name.
> However, I'm currently using XmlLayoutSchemaLog4j which forces the retrieval 
> of said information for the log4net:UserName property.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to