3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/indocker/logger_factory.rb', line 3
def create(stdout, level = nil)
logger = Logger.new(stdout)
logger.level = level || Logger::INFO
logger.formatter = proc do |severity, datetime, progname, msg|
level = Logger::SEV_LABEL.index(severity)
severity = case level
when Logger::INFO
severity.green
when Logger::WARN
severity.purple
when Logger::DEBUG
severity.yellow
when Logger::ERROR
severity.red
when Logger::FATAL
severity.red
else
severity
end
severity = severity.downcase
if logger.debug?
"#{datetime.strftime("%Y/%m/%d %H:%M:%S")} #{severity}: #{msg}\n"
else
" #{severity}: #{msg}\n"
end
end
logger
end
|