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 /GLOBAL.properties file, which you can view in the Configuration tab of the Component Editor of any Nucleus component:

logListeners=\
     atg/dynamo/service/logging/LogQueue,\
     atg/dynamo/service/logging/ScreenLog

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:

logListeners=LogDispatch

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:

logEvents=\
     atg.nucleus.logging.InfoLogEvent,\
     atg.nucleus.logging.WarningLogEvent,\
     atg.nucleus.logging.ErrorLogEvent,\
     atg.nucleus.logging.DebugLogEvent,\
     atg.nucleus.logging.LogEvent
logDestinations=\
     InfoLog,\
     WarningLog,\
     ErrorLog,\
     DebugLog,\
     InfoLog

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:

$class=atg.nucleus.logging.RotatingFileLogger
logFilePath=./logs
logFileName=info.log

scheduler=../Scheduler
schedule=calendar * . 1 1 0
logArchivePath=./logs/archives
maximumArchiveCount=20
archiveCompressed=true

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.