In the standard Oracle ATG Web Commerce configuration, all components are directed to send their logging events to a single LogQueue component. This is specified in the / file, which you can view in the Configuration tab of the Component Editor of any Nucleus component:


All components also direct their output to the ScreenLog component, causing all messages to appear on the console. This is useful for debugging at development time, and should be removed at production time.

The LogQueue component queues log events, preventing the handling of those events from impacting the throughput of the rest of the system. The LogQueue feeds its output to a LogDispatch component:


The LogDispatch separates the error, warning, info, and debug log events and directs them to separate components. Any events that do not match the above classes are sent to the info logs:


Each of the destination logs (InfoLog, WarningLog, ErrorLog, DebugLog) is a RotatingFileLogger. Each log is stored in a separate file in the ./logs directory, and is archived at 1am every Sunday into the ./logs/archives directory:


schedule=calendar * . 1 1 0

As you can see, the entire Oracle ATG Web Commerce logging system is completely defined using standard Nucleus components and configuration files. This means that you can change the logging configurations and procedures by changing configuration files, usually without writing any Java code.