log2json-loggers 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/log2json/railslogger.rb +7 -13
- metadata +1 -1
data/lib/log2json/railslogger.rb
CHANGED
@@ -8,34 +8,27 @@
|
|
8
8
|
#
|
9
9
|
|
10
10
|
require 'logger'
|
11
|
-
|
11
|
+
|
12
12
|
module Log2Json
|
13
13
|
|
14
14
|
def self.log_formatter
|
15
15
|
proc do |severity, datetime, progname, msg|
|
16
16
|
"#{datetime.strftime('%Y-%m-%dT%H:%M:%S%z')}: [#{severity}] #{$$} #{msg.gsub(/\n/, '#012')}\n"
|
17
|
+
# Note: Following rsyslog's convention, all newlines are converted to '#012'.
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
|
-
# Create a custom logger that
|
21
|
-
#
|
21
|
+
# Create a custom logger that uses its own formatting for easier parsing
|
22
|
+
# by a log2json log monitoring script.
|
22
23
|
#
|
23
24
|
def self.create_custom_rails_logger(config)
|
24
|
-
# Do what railties' bootstrap.rb does to initialize a default logger for a Rails app.
|
25
25
|
path = config.paths["log"].first
|
26
26
|
unless File.exist? File.dirname path
|
27
27
|
FileUtils.mkdir_p File.dirname path
|
28
28
|
end
|
29
|
-
|
30
|
-
f.binmode
|
31
|
-
f.sync = true # make sure every write flushes
|
32
|
-
|
33
|
-
logger = ActiveSupport::TaggedLogging.new(
|
34
|
-
ActiveSupport::BufferedLogger.new(f)
|
35
|
-
)
|
36
|
-
logger.level = ActiveSupport::BufferedLogger.const_get(config.log_level.to_s.upcase)
|
37
|
-
|
29
|
+
logger = ::Logger.new(path)
|
38
30
|
logger.formatter = ::Log2Json::log_formatter
|
31
|
+
logger
|
39
32
|
end
|
40
33
|
|
41
34
|
# Simiar to the custom rails logger, but for unicorn.
|
@@ -43,6 +36,7 @@ module Log2Json
|
|
43
36
|
def self.create_custom_unicorn_logger(config)
|
44
37
|
logger = ::Logger.new(config.set[:stderr_path])
|
45
38
|
logger.formatter = ::Log2Json::log_formatter
|
39
|
+
logger
|
46
40
|
end
|
47
41
|
|
48
42
|
|