lib/phobos.rb in phobos-1.1.0 vs lib/phobos.rb in phobos-1.2.0

- old
+ new

@@ -35,29 +35,42 @@ configure_logger logger.info { Hash(message: 'Phobos configured', env: ENV['RACK_ENV']) } end def create_kafka_client - Kafka.new(config.kafka.to_hash) + Kafka.new(config.kafka.to_hash.merge(logger: @ruby_kafka_logger)) end def create_exponential_backoff min = Phobos.config.backoff.min_ms / 1000.0 max = Phobos.config.backoff.max_ms / 1000.0 ExponentialBackoff.new(min, max).tap { |backoff| backoff.randomize_factor = rand } end def configure_logger + log_file = config.logger.file + ruby_kafka = config.logger.ruby_kafka date_pattern = '%Y-%m-%dT%H:%M:%S:%L%zZ' - FileUtils.mkdir_p(File.dirname(config.logger.file)) + log_layout = Logging.layouts.pattern(date_pattern: date_pattern) + appenders = [Logging.appenders.stdout(layout: log_layout)] - Logging.backtrace true + Logging.backtrace(true) Logging.logger.root.level = silence_log ? :fatal : config.logger.level + if log_file + FileUtils.mkdir_p(File.dirname(log_file)) + appenders << Logging.appenders.file(log_file, layout: log_layout) + end + + @ruby_kafka_logger = nil + + if ruby_kafka + @ruby_kafka_logger = Logging.logger['RubyKafka'] + @ruby_kafka_logger.appenders = appenders + @ruby_kafka_logger.level = silence_log ? :fatal : ruby_kafka.level + end + @logger = Logging.logger[self] - @logger.appenders = [ - Logging.appenders.stdout(layout: Logging.layouts.pattern(date_pattern: date_pattern)), - Logging.appenders.file(config.logger.file, layout: Logging.layouts.json(date_pattern: date_pattern)) - ] + @logger.appenders = appenders end end end