Working on major restructuring
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
module GameServer
|
||||
module Logging
|
||||
module Context
|
||||
def self.with(data)
|
||||
old = Thread.current[:log_ctx]
|
||||
Thread.current[:log_ctx] = data
|
||||
yield
|
||||
ensure
|
||||
Thread.current[:log_ctx] = old
|
||||
end
|
||||
|
||||
def self.current
|
||||
ctx = Thread.current[:log_ctx]
|
||||
ctx ? ctx.map { |k,v| "#{k}=#{v} " }.join : ""
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,11 @@
|
||||
require "time"
|
||||
|
||||
module GameServer
|
||||
module Logging
|
||||
class Formatter
|
||||
def call(severity, time, _, msg)
|
||||
"[#{time.utc.iso8601}] #{severity} #{Context.current}#{msg}\n"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,19 @@
|
||||
require "logger"
|
||||
|
||||
module GameServer
|
||||
module Logging
|
||||
def self.setup
|
||||
FileUtils.mkdir_p("log")
|
||||
file = File.open("log/development.log", "a")
|
||||
file.sync = true
|
||||
|
||||
@logger = Logger.new(file)
|
||||
@logger.level = Logger::DEBUG
|
||||
@logger.formatter = Formatter.new
|
||||
end
|
||||
|
||||
def self.logger
|
||||
@logger
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user