code_junkie

How can I include SessionID in log files using log4net in ASP.NET?

Nov 12th, 2011
564
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. protected void Application_PostAcquireRequestState(object sender, EventArgs e)
  2. {
  3. log4net.ThreadContext.Properties["SessionID"] = Session.SessionID;
  4. }
  5.  
  6. protected void Application_PostAcquireRequestState(object sender, EventArgs e)
  7. {
  8. if (Context.Handler is IRequiresSessionState)
  9. {
  10. log4net.ThreadContext.Properties["SessionId"] = Session.SessionID;
  11. }
  12. }
  13.  
  14. private void AcquireRequestState(Object source, EventArgs e)
  15. {
  16. HttpApplication application = (HttpApplication)source;
  17. HttpContext context = application.Context;
  18. log4net.ThreadContext.Properties["SessionId"] = context.Session.SessionID;
  19. }
  20.  
  21. <appender name="rollingFile"
  22. type="log4net.Appender.RollingFileAppender,log4net" >
  23. <param name="AppendToFile" value="false" />
  24. <param name="RollingStyle" value="Date" />
  25. <param name="DatePattern" value="yyyy.MM.dd" />
  26. <param name="StaticLogFileName" value="true" />
  27.  
  28. <param name="File" value="log.txt" />
  29. <layout type="log4net.Layout.PatternLayout,log4net">
  30. <param name="ConversionPattern"
  31. value="%property{SessionId} %d [%t] %-5p %c - %m%n" />
  32. </layout>
  33. </appender>
  34.  
  35. <conversionPattern
  36. value="%date %-5level %logger ${COMPUTERNAME} [%property{SessionID}] - %message%newline" />
  37.  
  38. protected void Session_Start(object sender, EventArgs e)
  39. {
  40. log4net.ThreadContext.Properties["SessionID"] = Session.SessionID;
  41. log4net.Config.XmlConfigurator.Configure();
  42. }
Add Comment
Please, Sign In to add comment