Skip to content

Commit c5e0f7f

Browse files
jpervillegkellogg
authored andcommitted
Reduce object allocations in RDF::Utils::Logger#logger_common
1 parent e4a586d commit c5e0f7f

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

lib/rdf/util/logger.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,11 @@ def log_depth(**options, &block)
192192
end
193193

194194
private
195+
LOGGER_COMMON_LEVELS = {
196+
fatal: 4, error: 3, warn: 2, info: 1, debug: 0
197+
}.freeze
198+
LOGGER_COMMON_LEVELS_REVERSE = LOGGER_COMMON_LEVELS.invert.freeze
199+
195200
##
196201
# Common method for logging messages
197202
#
@@ -212,8 +217,8 @@ def logger_common(*args, level:, **options)
212217
logger = self.logger(options)
213218
logger.log_statistics[level] = logger.log_statistics[level].to_i + 1
214219
# Some older code uses integer level numbers
215-
level = [:debug, :info, :warn, :error, :fatal][level] if level.is_a?(Integer)
216-
return if logger.level > {fatal: 4, error: 3, warn: 2, info: 1, debug: 0}[level]
220+
level = LOGGER_COMMON_LEVELS_REVERSE.fetch(level) if level.is_a?(Integer)
221+
return if logger.level > LOGGER_COMMON_LEVELS.fetch(level)
217222

218223
depth = options.fetch(:depth, logger.log_depth)
219224
args << yield if block_given?

0 commit comments

Comments
 (0)