The Log provider logs method entry, exit, and error events. Each thread gets it's own log file. Log messages are "tagged" with the time since startup, and with a sequential message number. Message numbers are unique across across all threads (which means that numbers will be skipped within a single file).