Skip to content

Instantly share code, notes, and snippets.

@dkam
Created September 5, 2023 06:08
Show Gist options
  • Save dkam/1740081cef5dd0e6c719179d17974278 to your computer and use it in GitHub Desktop.
Save dkam/1740081cef5dd0e6c719179d17974278 to your computer and use it in GitHub Desktop.
Logging in rails
# Make add tags to the normal rails logger, accessed like `hc_logger.info("my log message")`
def hc_logger = @hc_logger ||= logger.tagged("HttpClients").tagged(self.class.name)
# Create a new logger as an instance variable for a class:
class MyServiceClass
# ....
def my_logger = @my_logger ||= create_logger.tagged(self.class.name)
private
def create_logger
logger = Logger.new(Rails.root.join('log/service_logger.log'))
logger.formatter = proc do |severity, datetime, progname, msg|
"[#{severity}] #{datetime}: #{msg}\n"
end
ActiveSupport::TaggedLogging.new(logger)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment