Web application logging strategy


I am creating an enterprise web application. I would like to do extensive logging of both client and server activity, with all logs ultimately stored on the server. I have found many articles describing one specific strategy or tool for this, but nothing comparing the options. I know there is no single best logging strategy or tool, but what options are recommended? In what scenarios? Pros/cons?

My particular context: (although I mean the question to be general)

  • Using ASP.NET, with C# on the server and JavaScript on the client.
  • Client code will be run on company workstations, not publicly on the web or on mobile devices. My team does not have easy access to these machines.
  • The client browser is an instance of Internet Explorer running inside a desktop application.
  • We’re already using log4net for server logging, with no complaints.

Some possible options:

  • Send each log entry from the client in an AJAX call. This seems like it would add a large amount of bandwidth, but given the quickest updates on the server.
  • Log to a local file on the client, and then send it to the server at the send of the session. This could minimize bandwidth, but from what I hear, browsers by design make it difficult to access the file system. I’m also not sure that this would be permitted in my current context.
  • Log entries to an in-memory queue in the browser, and send multiple log entries in one AJAX call once the queue gets to a given size, or after a set time interval.

What options haven’t I considered? What would you recommend or not recommend? Why?


Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *