Event log

List of examples:

Logging events

IEventLogService eventLog = Service.Resolve<IEventLogService>();

// In case of database outage, the system buffers all logged events in-memory until the database is available. 
// You do not need to buffer or check for database availability in custom code.

// Logs an information event into the event log
eventLog.LogInformation("API Example Info", "APIEXAMPLE", eventDescription: "Test information event.");

// Logs a warning event into the event log
eventLog.LogWarning("API Example Warning", "APIEXAMPLE", eventDescription: "Test warning event.");

// Logs an error event into the event log
eventLog.LogError("API Example Error", "APIEXAMPLE", eventDescription: "Test error event.");

// Logs an exception into the event log
eventLog.LogException("API Example Exception", "APIEXAMPLE", new Exception(), additionalMessage: "Test exception event.");

> Back to list of examples

Logging events using LogEvent

IEventLogService eventLog = Service.Resolve<IEventLogService>();

// Prepares an EventLogData object that holds all information about the event being logged
EventLogData eventData = new EventLogData(EventTypeEnum.Information, "API Example", "APIEXAMPLE")
{
	SiteID = SiteContext.CurrentSiteID,
	EventTime = DateTime.Now,
	EventDescription = "Logging a sample event to the event log."
};


// Logs the event into the event log
eventLog.LogEvent(eventData);

> Back to list of examples

Working with events (sending events by email)

// Gets all error events logged in the past day 
var errors = EventLogInfo.Provider.Get()
								.WhereEquals("EventType", EventType.ERROR)											
								.WhereGreaterThan("EventTime", DateTime.Now.Subtract(TimeSpan.FromDays(1)));

if (errors.Count > 0)
{
	// Creates the email message
	EmailMessage msg = new EmailMessage()
	{
		From = "system@localhost.local",
		Recipients = "admin@localhost.local",
		Subject = "Xperience Errors (" + errors.Count + ")",
		Body = "<html><body><ul>"
	};
	
	// Creates a list of the errors
	foreach (EventLogInfo errorEvent in errors)
	{
		msg.Body += String.Format("<li>{0} - {1} - {2}</li>", errorEvent.EventType, errorEvent.EventCode, errorEvent.EventDescription.Substring(0, 100));
	}

	msg.Body += "</ul></body></html>";

	// Sends out the email message
	EmailSender.SendEmail(msg);
}

> Back to list of examples

Clearing the event log

// Clears the event log for the current site
EventLogHelper.ClearEventLog(MembershipContext.AuthenticatedUser.UserID, MembershipContext.AuthenticatedUser.UserName, RequestContext.UserHostAddress, SiteContext.CurrentSiteID);

> Back to list of examples