Bukdu.jl
Bukdu.jl copied to clipboard
is any simple way how to extend the logging message in Bukdu?
trafficstars
Roman Samarev
Hi, is any simple way how to extend the logging message in Bukdu? I need to add a date/time
log(str) = "$(Dates.format(Dates.now(), "yyyy-mm-dd HH:MM:SS")): $(str)"
using Bukdu # Plug plug
using Logging: AbstractLogger
using Dates
using HTTP
struct MyLogger <: AbstractLogger
stream
end
function Plug.Loggers.info_response(logger::MyLogger, conn::Conn, route::Bukdu.RouteAction)
io = logger.stream
Base.print(io, "$(Dates.format(Dates.now(), "yyyy-mm-dd HH:MM:SS")): ")
Plug.Loggers.default_info_response(io, conn, route)
Base.flush(io)
end
function Plug.Loggers.print_message(logger::MyLogger, args...; kwargs...)
io = logger.stream
Base.print(io, "$(Dates.format(Dates.now(), "yyyy-mm-dd HH:MM:SS")): ")
Base.println(io, args...; kwargs...)
Base.flush(io)
end
plug(MyLogger, stdout)
Bukdu.start(8193)
routes() do
get("/") do conn::Conn
render(Text, "ok")
end
end
HTTP.get("http://127.0.0.1:8193/")
Bukdu.stop()
see also https://github.com/wookay/Bukdu.jl/blob/master/test/bukdu/plugs/loggers.jl