The architecture of Logging Toolkit for Java includes loggers, handlers, filters, and formatters. Loggers generate the data to be logged; there are message loggers for end users and administrators and trace loggers for developers. Handlers process the event data generated by the loggers and correspond to a physical device, such as a console, file, or socket. Filters control which log records are written to the output devices controlled by the Handlers. Formatters present event data in a desired format and recognize specific types of events; multiple formatters may be attached to a handler, which allows the handler to process diverse event types.