"audit-log" RollingFile Appender
This appender manages audit logs with automatic file rotation.
Example Configuration :
xml
<RollingFile name="audit-log" fileName="logs/audit.log" filePattern="logs/audit-%d{yyyy-MM-dd}.log">
<ThresholdFilter level="INFO"/>
<PatternLayout pattern="%d %-5p [%t][%X{MDC_USER}][%X{MDC_REMOTE_IP}][%X{MDC_COMPONENT}] - %m%n"/>
<Policies>
<SizeBasedTriggeringPolicy size="100KB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>Example Log :
text
2025-02-05 17:15:00,006 INFO [scheduler-worker-3][Business Partners\admin][[0:0:0:0:0:0:0:1]][sfiler-gui] - Original time: 2025-02-05T17:14:55.000-0500: The 'Run a generic Groovy script' extension has been added.Log details:
2025-02-05 17:15:00,006: Date and time of the logINFO: Log level[scheduler-worker-3]: Thread name[Business Partners\admin]: Username (from MDC)[[0:0:0:0:0:0:0:1]]: Remote IP address (from MDC)[sfiler-gui]: System component concerned (from MDC)- Original time: 2025-02-05T17:14:55.000-0500: The 'Run a generic Groovy script' extension has been added.: Log message
Basic Configuration
- Name:
audit-log - Output file:
logs/audit.log - Archive file pattern:
logs/audit-[DATE].log
Log Format
The pattern %d %-5p [%t][%X{MDC_USER}][%X{MDC_REMOTE_IP}][%X{MDC_COMPONENT}] - %m%n defines the following format:
%d: Log date and time%-5p: Log level (DEBUG, INFO, ERROR...) aligned to 5 characters[%t]: Thread name[%X{MDC_USER}]: Username (from MDC)[%X{MDC_REMOTE_IP}]: Remote IP address (from MDC)[%X{MDC_COMPONENT}]: System component concerned (from MDC)%m: Log message%n: Line break
Rotation Policy
- SizeBasedTriggeringPolicy: 100KB per file
- DefaultRolloverStrategy: Maximum 10 archive files
- Rotation creates a new file when:
- Current file reaches 100KB
- A new day begins (based on date pattern)
Filter
- ThresholdFilter: Minimum level INFO
- Only messages of level INFO or higher (WARN, ERROR, FATAL) will be recorded
- DEBUG level messages will be ignored
