mirror of
https://github.com/NixOS/mobile-nixos.git
synced 2024-12-24 08:23:33 +03:00
38 lines
1.3 KiB
Ruby
38 lines
1.3 KiB
Ruby
class TimeOffsetLogger < Logger::Formatter
|
|
# Time at which the program was started.
|
|
# Ideally we'd prefer kernel uptime, but it seems we're slightly off with it
|
|
# when running the app and getting it through clock_gettime
|
|
#
|
|
# D, [2020-10-22T02:47:21.591014//1.0889 #1] DEBUG -- : Tasks::Proc created...
|
|
# [ 1.179064] random: fast init done
|
|
# D, [2020-10-22T02:47:21.591048//1.0889 #1] DEBUG -- : Tasks::Splash created...
|
|
#
|
|
# So rather than having *weird* time comparatively to the kernel, we're
|
|
# doing our own time-keeping.
|
|
OFFSET = Time.now
|
|
|
|
private
|
|
|
|
# Formats using the parent's format, with the offset since boot.
|
|
def format_datetime(t)
|
|
"#{super(t)}//#{"%.4f" % (t-OFFSET)}"
|
|
end
|
|
end
|
|
|
|
LOG_LEVEL =
|
|
if Configuration["log"]
|
|
level = Configuration["log"]["level"]
|
|
if level
|
|
LOG_LEVEL = Logger.const_get(level.to_sym)
|
|
end
|
|
else
|
|
Logger::INFO
|
|
end
|
|
|
|
$logger = Logger.new(STDOUT, level: LOG_LEVEL, formatter: TimeOffsetLogger.new)
|
|
$logger.debug("Logger initialized... (#{LOG_LEVEL})")
|
|
|
|
def log(*args, level: :info)
|
|
$logger.send(level, *args)
|
|
end
|