The idea of structured logging is to have each event use it's own method with a unique event ID. So this should be something like "Log.DatabaseExportFailed(errorMessage)". Then you create that method in the EventSource type and use the [Event] attribute to specify an event ID, a Message (using String.Format-style tokens) and a Level (of Error in this case).