Skip to content

Instantly share code, notes, and snippets.

@kenjij
Last active October 17, 2022 18:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenjij/3be09ead13b8686f846862a1546f1a68 to your computer and use it in GitHub Desktop.
Save kenjij/3be09ead13b8686f846862a1546f1a68 to your computer and use it in GitHub Desktop.
Generic Ruby Logger Wrapper
# Configure logger
NekoLogger.logger = Logger.new($stdout, formatter: proc { |s, d, n, m| "#{s} : #{m}\n" })
L = NekoLogger.logger
lvl = ENV['NEKO_LOG_LEVEL']
if String === lvl && ['DEBUG', 'INFO', 'WARN', 'ERROR'].include?(lvl.upcase)
L.level = eval("Logger::#{lvl.upcase}")
end
#
# ## NekoLogger Module
#
module NekoLogger
def self.logger=(logger)
@logger = logger
end
def self.logger
@logger ||= NullLogger.new()
end
class NullLogger < Logger
def initialize(*args)
end
def add(*args, &block)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment