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