An umbracoLog table viewer for Umbraco 7.4 >
Those with long memories will remember that in Umbraco 4 there was an umbracoLog table that contained every change made in Umbraco - both to content (Save, Publish, Delete etc) and also trace data raised by Umbraco (exceptions, debug messages, startup info etc). Sometime in Umbraco version 6 the trace data was changed to use log4Net and logged to daily plain-text files in /App_Data/Log/ - and this led me to create perhaps my most popular package - Diplo Trace Log Viewer. But this splitting of audit and trace data into two different channels meant that there was still no easy way of viewing the audit data in the umbracoLog table - sure, you can view the audit trail for individual pages, but you can't view it all in one place. Well, not until now...!!! (OK, I believe other people have written log viewers for this table, but allow me a little hyperbole, please!).
So my aim was to bring the same style interface that Diplo Trace Log Viewer has, but this time for viewing audit data - this includes every change every user makes - whether it be publishing a page, deleting some media, editing a content type or even installing a package. All that data is there, but not easy to access (unless you enjoy writing lots of SQL...)
One of the main differences between this and my other package is that all the data is stored in the database - this makes it easier in many respects (no need for 100+ character regexes to parse the file) but also raises a few challenges - you have to ensure the SQL you write works against both SQL Server and SQL CE (and maybe MySQL if anyone still uses that!). You also need to implement server-side pagination, since I know from experience the log table can grow to many thousands of entries. Luckily Umbraco's customised version of PetaPoco/nPoco allows easy pagination using the Umbraco.Core.Persistence.Page<T> class which works well in conjunction with the umbPagination Angular directive added in 7.4 to generate database-agnostic pagination.
- Filter log data by log type (Save, Publish, Delete etc)
- Filter by user (ie. person responsible)
- Filter by date or date range (ie. all audit events that occurred within a given period)
- Filter by node (with easy to use content-picker)
- Search the log data comments by keyword
- Handy quick filters for the more common audit tasks
- Uses fast, server side pagination of data so it should be quick no matter how large your log table has become
- Angular interface that integrates with Umbraco
- Quick "edit" links to users and content
Show Me The Screenshots
Showing the quick filters in the sidebar and the main interface and data on the right
Uses server-side pagination with an Angular directive
Allows you to view more detail of each log entry
OK, Where Can I Get It?
You can download it from either NuGet (recommended) or via a traditional Umbraco package. And, of course, the source is freely available (but please give me a shout if you use it for anything interesting, K?).
Source Code: https://github.com/DanDiplo/Umbraco.AuditLogViewer