Module: Legion::Logging::Shipper::FileTransport
- Defined in:
- lib/legion/logging/shipper/file_transport.rb
Constant Summary collapse
- DEFAULT_PATH =
'/var/log/legion/siem.log'
Class Method Summary collapse
Class Method Details
.ship(event) ⇒ Object
13 14 15 |
# File 'lib/legion/logging/shipper/file_transport.rb', line 13 def ship(event) ship_batch([event]) end |
.ship_batch(events) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/legion/logging/shipper/file_transport.rb', line 17 def ship_batch(events) batch = Array(events) return true if batch.empty? path = resolve_path FileUtils.mkdir_p(File.dirname(path)) File.open(path, 'a') do |f| f.write(batch.map { |event| ::JSON.generate(event) }.join("\n")) f.write("\n") end true rescue StandardError => e Legion::Logging.error("FileTransport ship failed: #{e.}") if defined?(Legion::Logging) false end |