require "file_utils" logger = if Lucky::Env.test? # Logs to `tmp/test.log` so you can see what's happening without having # a bunch of log output in your spec results. FileUtils.mkdir_p("tmp") Dexter::Logger.new( io: File.new("tmp/test.log", mode: "w"), level: Logger::Severity::DEBUG, log_formatter: Lucky::PrettyLogFormatter ) elsif Lucky::Env.production? # This sets the log formatter to JSON so you can parse the logs with # services like Logentries or Logstash. # # If you want logs like in develpoment use `Lucky::PrettyLogFormatter`. Dexter::Logger.new( io: STDOUT, level: Logger::Severity::INFO, log_formatter: Dexter::Formatters::JsonLogFormatter ) else # For development, log everything to STDOUT with the pretty formatter. Dexter::Logger.new( io: STDOUT, level: Logger::Severity::DEBUG, log_formatter: Lucky::PrettyLogFormatter ) end Lucky.configure do |settings| settings.logger = logger end Lucky::LogHandler.configure do |settings| # Skip logging static assets in development if Lucky::Env.development? settings.skip_if = ->(context : HTTP::Server::Context) { context.request.method.downcase == "get" && context.request.resource.starts_with?(/\/css\/|\/js\/|\/assets\/|\/favicon\.ico/) } end end Avram.configure do |settings| settings.logger = logger end