title: Audit and log, all or selective, user input on ASP.NET web application. How would you?
body: <p>I'm building UI logging into a long-existing ASP.NET enterprise application. I have my own ideas of how to progress from here and am continuing to research &amp; design. But I'd love to hear some details from the SO community.</p>
  
  <p>Here are the details, assumptions and questions as of right now, subject to evolve within the enterprise as well as whatever input comes in here on SO:</p>
  
  <ul>
  <li><p>Would prefer to have a consistent DB connection since there will be a lot of activity</p></li>
  <li><p>Will probably use the ThreadPool, but will this conflict too much with ASP.NET vying for threads?</p></li>
  <li><p>Possibly use in-memory queue (Queue) for logging batches of inputs periodically? (one per domain)</p></li>
  <li><p>Will need to be configurable. IE: Could log all page events during their normal postback calls, or hook individual control actions or events to being logged whether there's a postback or not. IE: User collapses a panel.</p></li>
  <li><p>All "high-visibility" UI events that'll already be posting back as well as other events that won't necessarilly post back right away. Have a client batch of events and send occasionally?</p></li>
  <li><p>How do we minimize the impact on existing code?</p></li>
  <li><p>Have "fly on the wall" AJAX functionality that posts back accordingly? It'll basically be watching all that's been configured to be logged.</p></li>
  <li><p>Logging must be ordered for reporting a user's step-by-step progress from point A to B in a workflow.</p></li>
  </ul>