Add -o option for redirecting output
parent
827e68acf5
commit
af449161ff
@ -0,0 +1,35 @@
|
|||||||
|
require "logger"
|
||||||
|
|
||||||
|
class Invidious::LogHandler < Kemal::BaseLogHandler
|
||||||
|
def initialize(@io : IO = STDOUT)
|
||||||
|
end
|
||||||
|
|
||||||
|
def call(context : HTTP::Server::Context)
|
||||||
|
time = Time.now
|
||||||
|
call_next(context)
|
||||||
|
elapsed_text = elapsed_text(Time.now - time)
|
||||||
|
|
||||||
|
@io << time << ' ' << context.response.status_code << ' ' << context.request.method << ' ' << context.request.resource << ' ' << elapsed_text << '\n'
|
||||||
|
|
||||||
|
if @io.is_a? File
|
||||||
|
@io.flush
|
||||||
|
end
|
||||||
|
|
||||||
|
context
|
||||||
|
end
|
||||||
|
|
||||||
|
def write(message : String)
|
||||||
|
@io << message
|
||||||
|
|
||||||
|
if @io.is_a? File
|
||||||
|
@io.flush
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private def elapsed_text(elapsed)
|
||||||
|
millis = elapsed.total_milliseconds
|
||||||
|
return "#{millis.round(2)}ms" if millis >= 1
|
||||||
|
|
||||||
|
"#{(millis * 1000).round(2)}µs"
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue