write to IIS log from an ASP.NET application

Try Response.AppendToLog(), this writes to the IIS log file. It's good because it doesn't require any additional software. The only downside is that your log file is likely to be huge. I mainly use it for identifying content logged in the IIS log. Eg. Write the user-name when they login, and you can track their session.


What I usually do is to use a 3rd-party logging framework and configure the framework through configuration files (i.e. no need to recompile).

The frameworks I have used are:

  • log4net – Which has a lot of so called "appenders" to write to different targets like Windows Event Log or a database or a log file.
  • NLog – A logging framework that is a bit easier to use than log4net.

You have to insert the appropriate log function calls in your application to actually trigger a log entry being created.

Since your question title states that you want to write to the same log (file) as IIS does; I have no idea how to solve this requirement (left alone that I cannot imagine a reason why you would do this)


To capture the Debug.Write and Debug.WriteLine use the DebugView from sysinternals.

http://technet.microsoft.com/en-us/sysinternals/bb896647

Of course you have to compile with Debug=true or else the functions is not called at all. So the Debug.Write is a good way only for test in real time and debug your application and not a solution to keep log on the errors in general. For the case that you like to save the errors I think that you need to ether use one library of the other user suggestions, or write direct on event viewer your errors.

ps: For some reason the version 4.78 is not working on my windows xp and I switch back to 4.77