1. A computer-implemented method including: at a computer system on which one or more computer programs are executing: receiving a specification defining types of state information; receiving an indication that an event associated with at least one of the computer programs has occurred, the event associated with execution of a function of the computer program; collecting state information describing the state of the execution of the computer program when the event occurred; generating an entry corresponding to the event, the entry including elements of the collected state information, the elements of state information formatted according to the specification; and storing the entry.