lib/kafkr.rb in kafkr-0.21.0 vs lib/kafkr.rb in kafkr-0.22.0
- old
+ new
@@ -1,45 +1,52 @@
-# frozen_string_literal: true
require "pry"
require "logger"
require "openssl"
require "securerandom"
require "ostruct"
require "gibberish"
+# Assuming the relative paths are correct and these files exist.
require_relative "kafkr/encryptor"
require_relative "kafkr/message_broker"
require_relative "kafkr/log"
require_relative "kafkr/consumer"
require_relative "kafkr/producer"
require_relative "kafkr/version"
module Kafkr
+ LOG_FILE_PATH = "/var/log/kafkr.log" # Default log file path
+
class << self
+ attr_writer :log_file_path
+
def logger
@logger ||= configure_logger
end
- def configure_logger(output = STDOUT)
- begin
- @logger = ::Logger.new(output)
- rescue Errno::EACCES, Errno::ENOENT => e
- @logger = ::Logger.new(STDOUT)
- @logger.error("Could not open log file: #{e.message}")
- end
- @logger.level = ::Logger::DEBUG
- @logger
+ def log_file_path
+ @log_file_path || LOG_FILE_PATH
end
+ def configure_logger
+ logger = ::Logger.new(log_file_path)
+ logger.level = ::Logger::DEBUG
+ logger
+ rescue Errno::EACCES, Errno::ENOENT => e
+ # Fallback to STDOUT only if file creation fails, can be removed to strictly enforce file logging
+ logger = ::Logger.new(STDOUT)
+ logger.error("Could not open log file: #{e.message}")
+ logger
+ end
+
def write(message, unique_id = nil)
- begin
- logger.info(message)
- rescue IOError => e
- @logger.error("Failed to write log: #{e.message}")
- end
+ logger.info(message)
+ rescue IOError => e
+ logger.error("Failed to write log: #{e.message}")
end
+ # Maintaining existing method aliases
alias_method :log, :write
alias_method :output, :write
alias_method :info, :write
alias_method :record, :write
alias_method :trace, :write
@@ -54,7 +61,6 @@
def self.configure
yield(configuration)
rescue => e
logger.error("Configuration error: #{e.message}")
end
-end
-
+end
\ No newline at end of file