The ems probe log file may grow indefinitely, reaching several gigabytes in size. Despite configuring a SizeBasedTriggeringPolicy in the log4j2.xml file, the log fails to roll over at the expected size, or it rolls at seemingly random intervals with inconsistent file sizes.
the ems probe utilizes two independent logging frameworks—Legacy Nimbus and Log4j2—that simultaneously target the same physical file (ems.log). This dual-ownership architecture creates resource contention and data corruption because both frameworks maintain open write-handles, leading to race conditions during file rotation or truncation.
Size Discrepancy: Log4j2 tracks file size via an internal byte counter rather than monitoring the actual disk size. It is "blind" to any data written by the Nimbus framework.
Delayed Rollover: Because Log4j2 only triggers a rollover once its own internal counter reaches the limit, the physical ems.log can grow significantly larger than configured (e.g., a 10 MB limit might result in a 50 MB+ file) due to uncounted Nimbus log entries. Meanwhile, the Nimbus "logsize" key is unable to roll over the ems.log when it is held open by Log4j2.
Alternate Workaround
If the above workaround is not reliable, it is possible to separate the logging frameworks to point at separate files.
Navigate to (UIM_HOME)\Nimsoft\probes\service\ems\.
Open log4j2.xml in a text editor.
Locate the <RollingFile> appender section.
Change the fileName and filePattern attributes to a new filename, such as ems_log4j.log.
Example Configuration:
<Appenders>
<RollingFile name="ProbeLogFile" fileName="./ems_log4j.log" filePattern="./ems_log4j-%i.log">
With this change, the Nimbus logger will write to the standard ems.log based on the loglevel key in ems.cfg and will roll that log over to _ems.log based on the logsize key, while the ems_log4j.log will be written to by Log4j2 and will respect the SizeBasedTriggeringPolicy settings.
Standard probe initialization and "heartbeat" logs remain in ems.log (managed by ems.cfg), while the more detailed application-level logs are captured in ems_log4j.log, so for troubleshooting it may be necessary to consult both logs.
We are currently investigating a more robust, longer-term solution. This is tracked as Feature ID: F165182: Improve Log Rollover in EMS probe.