The question where exception logs should go has been discussed here once or twice (or more), and one of the recommendation was that the application should never write to the installation folder.
However, if I put the logs somewhere in %appdata%, this means that each user has its own set of logs. I’d prefer having all logs at a single location.
In one of the last MSDN mag issues, having a separate sub folder for logs in the installation folder (e.g. %programfiles\myapp\logs) was called a valid exception from the rule. Of course, the ACL for this folder must be set up accordingly.
Is having a log folder in the installation folder common practice or an absolute no-go? Where do you put your exception logs?
Edit:
In fact, we are using log4net, so the location and type of logging is completely configurable. However, I want to have a reasonable default. I prefer having a file over the event log. For most users, a file is much easier to handle than the event log.
However, let’s assume that I want to have files. Is it okay to have a log folder in the installation folder?
With the newer OS vista and win 2008 writing to the program files directory may need ACL or be virtualized to the user’s folder. I would suggest setting up a directory under %AllUsersProfile% this way you have one common location for all user’s log files and your applications does not need to run as admin to write them there.