[ https://issues.apache.org/jira/browse/LOG4NET-429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13946509#comment-13946509 ]
Dominik Psenner commented on LOG4NET-429: ----------------------------------------- Alright, with another +1 for solution 3 I'll commit the patch. So far I've tested the functionality and ran performance tests, meaning that the username appears in the rendered log messages and the performance penalty is hit only in those cases where the username is rendered. However, the performance hit is still doubled when one uses a combination of _%username_ and _%properties\{log4net:UserName}_ in one pattern but unfortunately there's no easy way around that. I'm considering that as a bearable compromise. > Pattern with Context property causes severe slowdown > ---------------------------------------------------- > > Key: LOG4NET-429 > URL: https://issues.apache.org/jira/browse/LOG4NET-429 > Project: Log4net > Issue Type: Improvement > Components: Core > Affects Versions: 1.2.13 > Reporter: Jonas Versén > Assignee: Dominik Psenner > Priority: Minor > Labels: performance > Attachments: LOG4NET-429.patch > > > If you use a context property in your appenders pattern, there will be a > significant logging slowdown. In my experience anywhere from 3 to 5 times > slower (this will depend on the appender). > I believe that as soon as you use a context property log4net will internally > access the windows user name even though it's not the property you want to > access. This theory comes from the fact that printing all properties in the > pattern (including the costly property username) compared to just printing > one will slow down the logging with the same factor. > I've made a stackoverflow question with more details as well > http://stackoverflow.com/questions/22612286/using-log4net-context-properties-has-negative-impact-on-performance/ -- This message was sent by Atlassian JIRA (v6.2#6252)