I'm one of the developers on the ELMAH project and am looking into how I can improve the NuGet experience for ELMAH users.
The problem with the existing package is that it only does part of the configuration that a user will need, and there are lots of options that the user might and probably will want to choose. For example:
- Where are errors logged?:
- In memory
- XML files
- Sql Server
- MS Access
- Which connection string to use when logging errors?
- Are errors emailed to users?
- Are errors tweeted to users?
- Are errors filtered, and if so using what criteria?
- Can the error log be viewed by remote users?
And then if the user wants to log errors to Sql Server or Oracle, they will need to find and run a SQL script against their database - and then re-run this against a different database when they deploy to production.
I guess I could simply update things such that common options are set up and other options are commented out with instructions as to what should be done. However, that still leaves a lot for users to do.
Another option might be that there is an Elmah.Core package that sets up in memory logging, then Elmah.SqlServer that transforms the web.config to log to SqlServer, then Elmah.Mail and Elmah.Tweet etc. Each of the NuGet packages would do a little bit of
the transformation and allow users to selectively pick the features they want.
Does anyone have any ideas of the best way to solve some of these problems/give users the best possible experience??