A system and method for enabling multiple processes to efficiently log events is described. A client executable module that needs to log an event may interface with a module or component referred to as a “client-side logging component”, passing various types of information regarding the event, such as an associated event level, one or more event associated event categories, an informational message, etc. The client-side logging component may maintain event logging criteria specifying which types of events should be logged. If the event should be logged, the client-side logging component may queue the event information and return execution control the client module. The event information may then be asynchronously retrieved from the event queue and sent to a server-side logging component. The server-side logging component may persistently log the event information in any of various ways, e.g., by storing it in a file, a database, etc. Processes running on multiple computers may call the server-side logging component to log events, via a client-side logging component instance associated with the process. A logging administration tool may be utilized in order to set event logging criteria. In response to being configured with new event logging criteria information, the server-side logging component may automatically propagate the logging criteria information to each of the client-side logging components. The client-side logging components may then being using the new logging criteria, dynamically changing the filtering of events that are sent to the server-side logging component.