13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/utils/logger.rb', line 13
def self.create(name, opts = {})
formatter = TSFormatter.new
logger = Logger.new STDOUT
logger.progname = "TS#{name}"
logger.datetime_format = '%FT%T%:z'
logger.level = Threatstack::Constants::LOG_LEVEL
colors = Threatstack::Constants::LOG_COLORS
log_color = opts[:color] || COLORS.sample
progname = colors ? formatter.send(log_color, '%16.16s' % logger.progname) : '%16.16s' % logger.progname
logger.formatter = proc do |severity, datetime, _progname, msg|
pid = Process.pid
sev_padded = '%5.5s' % severity
sev_final = sev_padded
if colors
pid = formatter.green pid
if severity == 'INFO'
sev_final = formatter.cyan sev_padded
elsif severity == 'WARN'
sev_final = formatter.yellow sev_padded
elsif severity == 'ERROR' || severity == 'FATAL'
sev_final = formatter.red sev_padded
else
sev_final = formatter.regular sev_padded
end
end
"[#{datetime}] #{pid} - #{sev_final} - #{progname}: #{msg}\n"
end
logger
end
|