Elmah MVC alternatives and similar packages
Based on the "Logging" category.
Alternatively, view Elmah MVC alternatives based on common mentions on social networks and blogs.
NLog9.4 5.2 L2 Elmah MVC VS NLogNLog - Advanced and Structured Logging for Various .NET Platforms
Serilog9.2 7.1 L4 Elmah MVC VS SerilogSimple .NET logging with fully-structured events
Log4Net6.4 7.5 Elmah MVC VS Log4NetMirror of This is the Apache log4net logging project git repository.
StackExchange.Exceptional6.2 0.0 L3 Elmah MVC VS StackExchange.ExceptionalError handler used for the Stack Exchange network
Sentry5.6 8.5 Elmah MVC VS SentrySentry SDK for .NET
Logary5.0 0.0 Elmah MVC VS LogaryLogs and metrics are one! Professional logging, metrics and analytics for your apps.
Semantic Logging Application Block (SLAB)Supporting semantic/structured logging for .NET
ELMAH4.4 0.0 L4 Elmah MVC VS ELMAHError Logging Modules & Handlers for ASP.NET
ZeroLog4.0 3.3 Elmah MVC VS ZeroLogA high-performance, zero-allocation .NET logging library.
NReco.Logging.File3.6 3.6 Elmah MVC VS NReco.Logging.FileGeneric file logger for .NET Core (FileLoggerProvider) with minimal dependencies
Rollbar.NET3.3 0.0 Elmah MVC VS Rollbar.NETRollbar for .NET
Sejil2.9 0.0 Elmah MVC VS SejilCapture, view and filter your ASP.net core log events right from your app
Tracer2.8 0.0 Elmah MVC VS TracerTracing rewriter using Fody
ULogViewer2.7 0.0 Elmah MVC VS ULogViewerCross-Platform Universal Log Viewer.
Logazmic2.2 0.0 L4 Elmah MVC VS LogazmicWindows log viewer for log4j
elmah.io1.9 4.1 L4 Elmah MVC VS elmah.ioELMAH error logger for sending errors to elmah.io.
Serilog.Sinks.NotepadA Serilog sink that writes log events to Notepad as text or JSON
NPushOver1.7 0.0 L4 Elmah MVC VS NPushOverFull fledged, async, .Net Pushover client
BugGuardian1.5 0.0 Elmah MVC VS BugGuardianBugGuardian: Easily track you exceptions on Azure DevOps and TFS
Serilog.Sinks.ExcelDnaLogDisplayA Serilog sink that writes events to Excel-DNA LogDisplay
ExcelDna.Diagnostics.SerilogIntegrate Excel-DNA Diagnostic Logging with your Serilog logging pipeling within your Excel-DNA add-in
NLog.Targets.Pushover0.9 0.0 L5 Elmah MVC VS NLog.Targets.PushoverNLog.Targets.Pushover is a custom target for NLog enabling you to send logging messages to the Pushover service
FastLog.Net0.7 10.0 Elmah MVC VS FastLog.NetHigh performance logger for .NET 💯
Ac682.Extensions.Logging.Consolea provider for Microsoft.Extensions.Logging which provides a colored console logger.
BugSnagLogs errors. Includes useful diagnostic info like stack trace, session, release, etc. Has a free tier. [Free for OSS][$]
LoupeCentralized .NET logging and monitoring
Essential DiagnosticsExtends the inbuilt features of System.Diagnostics namespace to provide flexible logging
Static code analysis for 29 languages.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Elmah MVC or a related project?
For painless integration of ELMAH into ASP.NET MVC application.
What's changed in 2.0 version?
For details, please follow that blog post - ELMAH.MVC v.2.0 - Release Candidate
What's the goal?
With ELMAH.MVC you got nice and clear MVC style routing to ELMAH error page. ELMAH can be accessed by:
By doing that, you can apply any authorization strategies or routes. In short, no more
That could be used for ASP.NET session hijacking with Google and ELMAH.
How to use in my application?
Easy. Install ELMAH by NuGet, in package console
For further ELMAH configuration please check the documentation.
Should I use HandleErrorAttribute?
If you tried to use ELMAH in ASP.NET MVC, you are probably implemented your own HandleErrorAttribute, as it's shown in this example. You no longer need to apply this custom code with Elmah.MVC. As soon you installed package, so can safely remove your HandleError attribute, since it's already included into package.
Will exceptions be logged in "customError='On'" mode?
Yes, even if you configured application to use custom error pages, the exception will be logged.
How can I configure Elmah.MVC?
There is a simple configuration section in web.config file.
<appSettings> <add key="elmah.mvc.disableHandler" value="false" /> <add key="elmah.mvc.disableHandleErrorFilter" value="false" /> <add key="elmah.mvc.requiresAuthentication" value="false" /> <add key="elmah.mvc.IgnoreDefaultRoute" value="false" /> <add key="elmah.mvc.allowedRoles" value="*" /> <add key="elmah.mvc.allowedUsers" value="*" /> <add key="elmah.mvc.route" value="elmah" /> <add key="elmah.mvc.UserAuthCaseSensitive" value="true" /> </appSettings>
elmah.mvc.disableHandler- turn on/off ELMAH.MVC handler
elmah.mvc.disableHandleErrorFilter- by default
HandleErrorAttribute()is set as global filter, to disable it, set value to "true"
elmah.mvc.requiresAuthentication- secure /elmah route with authentication
elmah.mvc.allowedRoles- in case of authentication is turned on, you can specify exact roles of user that have access (eg. "Admins")
elmah.mvc.allowedUsers- in case of authentication is turned on, you can specify exact users that have access (eg. "johndoe")
elmah.mvc.route- configure ELMAH.MVC access route
You can either disable handler or apply authentication, based on application roles.
You can also tweek the ELMAH default route. If you just install the package, ELMAH will be availabled at
/elmah, howether if you would like to change that, change
elmah.mvc.route, this setting is a MVC route prefix, used during ELMAH routes registration. For instance, if you change that to
secure/admin/errors you will get ELMAH at
Default route issue
You might change the
elmah.mvc.route to a custom one, but still able to see ELMAH reports at
/elmah. This issue is caused by the way how ASP.NET MVC matches controllers in separate namespaces. There are no good workaround for that (at least one I know), so if I makes a trouble to you, I recommend to reconsider the application, without using default route.
UPDATE: You might also consider ignoring
/elmah route explicitly as described here.
UPDATE 2: @chaoaretasty has added an option, to allow ignoring default role. Set
elmah.mvc.IgnoreDefaultRoute setting option to
Related articles and posts
ELMAH.MVC v.2.0.0 - Release Candidate
ELMAH MVC controller released on NuGet
Integrating ELMAH to ASP.NET MVC in right way
- 30-Apr-2015 - v.2.1.2 Added
UserAuthCaseSensitivesetting by @issafram.
IgnoreDefaultRoutenow works for subfolders by @DavidDeSloovere.
- 09-Jul-2013 - v.2.1.1 fixes by @papci
- 01-Jul-2013 - v.2.1.0 user based authentication by @papci
- 02-Jun-2013 - v.2.0.3 ignoring default role by @chaoaretasty
- 06-Nov-2012 - v.2.0.2 flag to turn on/off default HandleErrorAttribute()
- 16-Aug-2012 - v.2.0.1 custom routes, VB.NET support
- 13-Jun-2012 - v.2.0 major changes, packed to class library, HandleError attribute etc.
- 11-Jan-2012 - minor style changes and readme correction
- 29-Aug-2011 - nuget package created
- 29-Aug-2011 - reimplemented controller to avoid usage of additional routing instructions
*Note that all licence references and agreements mentioned in the Elmah MVC README section above are relevant to that project's source code only.