Created
September 5, 2023 06:08
-
-
Save dkam/1740081cef5dd0e6c719179d17974278 to your computer and use it in GitHub Desktop.
Logging in rails
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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