Remove file handler from CommonLogHandler. Log only to STDOUT. Fixes #159

This commit is contained in:
Sdogruyol 2016-07-05 22:14:00 +03:00
parent 9d84d51975
commit 3ea6a01afc
5 changed files with 8 additions and 36 deletions

View file

@ -29,7 +29,7 @@ describe "Macros" do
end
it "sets a custom logger" do
config = Kemal::Config::INSTANCE
logger CustomLogHandler.new("production")
logger CustomLogHandler.new
config.handlers.last.should be_a(CustomLogHandler)
config.logger.should be_a(CustomLogHandler)
end

View file

@ -2,35 +2,13 @@ require "./spec_helper"
describe "Kemal::LogHandler" do
it "creates a handler" do
logger = Kemal::CommonLogHandler.new "production"
logger = Kemal::CommonLogHandler.new
logger.handler.should_not be nil
end
it "creates a STDOUT handler by default" do
config = Kemal.config
logger = Kemal::CommonLogHandler.new "production"
logger = Kemal::CommonLogHandler.new
logger.handler.should be_a IO
end
it "creates a file handler in production" do
config = Kemal.config
config.env = "production"
logger = Kemal::CommonLogHandler.new "production"
logger.handler.should be_a File
end
it "writes to a file in production" do
config = Kemal.config
config.env = "production"
logger = Kemal::CommonLogHandler.new "production"
request = HTTP::Request.new("GET", "/?message=world&time=now")
io = MemoryIO.new
response = HTTP::Server::Response.new(io)
context = HTTP::Server::Context.new(request, response)
logger.call(context)
response.close
str = File.read("kemal.log")
File.delete("kemal.log")
str.includes?("GET /?message=world&time=now").should eq true
end
end

View file

@ -2,7 +2,7 @@ require "http"
# All loggers must inherit from `Kemal::BaseLogHandler`.
class Kemal::BaseLogHandler < HTTP::Handler
def initialize(@env : String)
def initialize
end
def call(context)

View file

@ -4,14 +4,8 @@ class Kemal::CommonLogHandler < Kemal::BaseLogHandler
@handler : IO::FileDescriptor
getter handler
def initialize(@env)
@handler = if @env == "production"
handler = File.new("kemal.log", "a")
handler.flush_on_newline = true
handler
else
STDOUT
end
def initialize
@handler = STDOUT
end
def call(context)

View file

@ -61,9 +61,9 @@ module Kemal
def setup_log_handler
@logger ||= if @logging
Kemal::CommonLogHandler.new(@env)
Kemal::CommonLogHandler.new
else
Kemal::NullLogHandler.new(@env)
Kemal::NullLogHandler.new
end
HANDLERS.insert(0, @logger.not_nil!)
end