Module: Log4j2LoggerBridge::Log4j2RollingFile
- Defined in:
- lib/log4j2_logger_bridge/log4j2_rolling_file.rb
Overview
The Log4j2RollingFile module
Class Method Summary collapse
- .apply!(builder:, root_logger:, layout:) ⇒ Object
- .attach_rolling_appender_to_root(builder, root_logger) ⇒ Object
- .build_and_add_rolling_appender(builder, layout, destination, policies) ⇒ Object
- .build_cron_policy(builder, destination) ⇒ Object
- .build_policies(builder, cron_policy, size_policy) ⇒ Object
- .build_size_policy(builder, destination) ⇒ Object
Class Method Details
.apply!(builder:, root_logger:, layout:) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/log4j2_logger_bridge/log4j2_rolling_file.rb', line 11 def apply!(builder:, root_logger:, layout:) destination = Log4j2LoggerBridge::Destination.config destination.ensure_paths! cron_policy = build_cron_policy(builder, destination) size_policy = build_size_policy(builder, destination) policies = build_policies(builder, cron_policy, size_policy) build_and_add_rolling_appender(builder, layout, destination, policies) attach_rolling_appender_to_root(builder, root_logger) end |
.attach_rolling_appender_to_root(builder, root_logger) ⇒ Object
56 57 58 59 |
# File 'lib/log4j2_logger_bridge/log4j2_rolling_file.rb', line 56 def attach_rolling_appender_to_root(builder, root_logger) root_logger = root_logger.addAttribute('additivity', false) root_logger.add(builder.newAppenderRef('rolling_file')) end |
.build_and_add_rolling_appender(builder, layout, destination, policies) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/log4j2_logger_bridge/log4j2_rolling_file.rb', line 43 def build_and_add_rolling_appender(builder, layout, destination, policies) appender = builder.newAppender('rolling_file', 'RollingFile') appender = appender.addAttribute('fileName', destination.log_file_path) appender = appender.addAttribute( 'filePattern', destination.resolved_rolling_file_name_template ) appender = appender.add(layout) appender = appender.addComponent(policies) builder.add(appender) end |
.build_cron_policy(builder, destination) ⇒ Object
24 25 26 27 |
# File 'lib/log4j2_logger_bridge/log4j2_rolling_file.rb', line 24 def build_cron_policy(builder, destination) cron = builder.newComponent('CronTriggeringPolicy') cron.addAttribute('schedule', destination.rollover_schedule) end |
.build_policies(builder, cron_policy, size_policy) ⇒ Object
36 37 38 39 40 |
# File 'lib/log4j2_logger_bridge/log4j2_rolling_file.rb', line 36 def build_policies(builder, cron_policy, size_policy) policies = builder.newComponent('Policies') policies = policies.addComponent(cron_policy) policies.addComponent(size_policy) end |
.build_size_policy(builder, destination) ⇒ Object
30 31 32 33 |
# File 'lib/log4j2_logger_bridge/log4j2_rolling_file.rb', line 30 def build_size_policy(builder, destination) size = builder.newComponent('SizeBasedTriggeringPolicy') size.addAttribute('size', destination.rollover_size) end |