1. A method, comprising: providing, using one or more computing devices, an event log structured as a collection of tree-like graphs; receiving, using the one or more computing devices, information regarding a new event to be logged; creating, using the one or more computing devices, a new event node within the event log for the new event; identifying, using the one or more computing devices, any existing event nodes within the event log that each represent a respective past event that may have caused the new event; for each new event identified as possibly caused by an existing event, creating, using the one or more computing devices, a causal link within the event log between the new event node and each of the identified existing event nodes; for each new event not identified as possibly caused by at least one existing event, storing, using the one or more computing devices, the new event node as an unattached root node in response to not identifying an existing event node representing a past event that may have caused the new event; determining, using the one or more computing devices, a deletion order of event nodes within the event log according to a last used parameter associated with the event nodes; and deleting, using the one or more computing devices, event nodes in the determined deletion order.