mojo_logger 0.2.0-java → 0.3.0-java
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.
- checksums.yaml +4 -4
- data/Gemfile +0 -4
- data/README.md +41 -4
- data/lib/bench/gen.rb +9 -0
- data/lib/mojo_logger.rb +1 -0
- data/lib/mojo_logger/configurator.rb +12 -1
- data/lib/mojo_logger/default_adapter.rb +29 -0
- data/lib/mojo_logger/mojo_logger.rb +8 -11
- data/lib/mojo_logger/version.rb +1 -1
- data/mojo_logger.gemspec +1 -0
- metadata +18 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d11d721f03d6f5ec11d8633a6d37319d79be15ec
|
|
4
|
+
data.tar.gz: 624e65eb57dd6e4e0c4bb9c4ce29e715f1fe91ef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 69371ddc10ef50313b8073926ee17f8786d678e2ca3891c115ce42985dc4874d982f7ba292d16d881b98e76b7f6fdcbb805b70e1801926e998ca6d769b3a7218
|
|
7
|
+
data.tar.gz: f0c55445392bb65bc30e97aadc48d9b538f1f0db993c58a862cfc3813646cd3daf0d0f6b42497edf8cd8dd581a7fe3cee10e0cc465471327eaf8449f31112f78
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -28,8 +28,8 @@ Or install it yourself as:
|
|
|
28
28
|
```ruby
|
|
29
29
|
require 'mojo_logger'
|
|
30
30
|
|
|
31
|
-
MojoLogger.
|
|
32
|
-
#=> This is a message
|
|
31
|
+
MojoLogger.debug "This is a message"
|
|
32
|
+
#=> This is a message
|
|
33
33
|
|
|
34
34
|
```
|
|
35
35
|
|
|
@@ -74,10 +74,10 @@ MojoLogger.config do |config|
|
|
|
74
74
|
config.default_log_level = :warn
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
-
MojoLogger.
|
|
77
|
+
MojoLogger.debug "This won't show up"
|
|
78
78
|
#=> nil
|
|
79
79
|
|
|
80
|
-
MojoLogger.
|
|
80
|
+
MojoLogger.warn "This will show up"
|
|
81
81
|
#=> This will show up
|
|
82
82
|
|
|
83
83
|
```
|
|
@@ -109,6 +109,43 @@ end
|
|
|
109
109
|
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
+
#### Add Custom adapter for format your logs
|
|
113
|
+
Add an adapter that will accept whatever fields you want to input and output a hash.
|
|
114
|
+
This hash will be converted to json by MojoLogger.
|
|
115
|
+
|
|
116
|
+
```ruby
|
|
117
|
+
require 'mojo_logger'
|
|
118
|
+
include MojoLogger
|
|
119
|
+
|
|
120
|
+
ENV['RACK_ENV'] = 'development'
|
|
121
|
+
|
|
122
|
+
# by default you use the standard adapter
|
|
123
|
+
|
|
124
|
+
mojo_debug({}, 'category', 'this is my message', { custom: :field })
|
|
125
|
+
# => {"time":"04-01-2016 22:25:33.019 +0000","app":"Mojo","env":"development","session_id":null,"reference_id":null,"api":null,"category":"category","message":"this is my message","custom":"field"}
|
|
126
|
+
|
|
127
|
+
class CustomLogAdapter
|
|
128
|
+
# an adapter must repond to #format() and return a Hash
|
|
129
|
+
def format(message)
|
|
130
|
+
{
|
|
131
|
+
'message' => message,
|
|
132
|
+
'constant' => 'Hello!'
|
|
133
|
+
}
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
MojoLogger.config do |config|
|
|
139
|
+
config.adapter = CustomLogAdapter.new
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# now you can call the #mojo_* methods with the parameter you define
|
|
143
|
+
|
|
144
|
+
mojo_debug('my message')
|
|
145
|
+
# => {"time":"04-01-2016 22:26:43.441 +0000","app":"Mojo","env":"development","message":"my message","constant":"Hello!"}
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
|
|
112
149
|
|
|
113
150
|
## Development
|
|
114
151
|
|
data/lib/bench/gen.rb
ADDED
data/lib/mojo_logger.rb
CHANGED
|
@@ -4,7 +4,7 @@ module MojoLogger
|
|
|
4
4
|
class Configurator
|
|
5
5
|
extend Forwardable
|
|
6
6
|
|
|
7
|
-
attr_reader :properties_file
|
|
7
|
+
attr_reader :properties_file, :env
|
|
8
8
|
attr_accessor :application_name
|
|
9
9
|
def_delegators :@default_appender, :pattern, :pattern=
|
|
10
10
|
def_delegators :@default_appender, :max_file_size, :max_file_size=
|
|
@@ -16,6 +16,8 @@ module MojoLogger
|
|
|
16
16
|
@use_default_appender = true
|
|
17
17
|
@appenders = []
|
|
18
18
|
@application_name = "Mojo"
|
|
19
|
+
@adapter = DefaultAdapter.new
|
|
20
|
+
@env = ENV['RAILS_ENV'] || ENV['RACK_ENV']
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
def default_log_level
|
|
@@ -53,6 +55,15 @@ module MojoLogger
|
|
|
53
55
|
properties
|
|
54
56
|
end
|
|
55
57
|
|
|
58
|
+
|
|
59
|
+
def adapter=(adapter)
|
|
60
|
+
@adapter = adapter
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def adapter
|
|
64
|
+
@adapter
|
|
65
|
+
end
|
|
66
|
+
|
|
56
67
|
private
|
|
57
68
|
|
|
58
69
|
def generate_root_logger_line
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module MojoLogger
|
|
2
|
+
class DefaultAdapter
|
|
3
|
+
|
|
4
|
+
def format(api_request, category, message, options=nil)
|
|
5
|
+
msg = {
|
|
6
|
+
'session_id' => api_request[:session_id],
|
|
7
|
+
'reference_id' => api_request[:reference_id],
|
|
8
|
+
'api' => api_request[:api],
|
|
9
|
+
'category' => category,
|
|
10
|
+
'message' => message
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
msg.merge!(process_options(options)) if options
|
|
14
|
+
msg
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
private
|
|
18
|
+
|
|
19
|
+
def process_options(options)
|
|
20
|
+
if options.is_a?(Hash)
|
|
21
|
+
options
|
|
22
|
+
else
|
|
23
|
+
{ 'options' => options }
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
require 'java'
|
|
2
2
|
require 'time'
|
|
3
3
|
require 'json'
|
|
4
|
+
require 'stringio'
|
|
5
|
+
require 'forwardable'
|
|
4
6
|
require_relative '../jars/log4j-1.2.17.jar'
|
|
5
7
|
|
|
6
8
|
module MojoLogger
|
|
9
|
+
extend SingleForwardable
|
|
10
|
+
def_delegators :logger, :debug, :info, :warn, :error, :fatal
|
|
7
11
|
|
|
8
12
|
def mojo_debug(*args)
|
|
9
13
|
MojoLogger.mojo_debug(*args)
|
|
@@ -31,19 +35,12 @@ module MojoLogger
|
|
|
31
35
|
@@logger ||= configure_logger
|
|
32
36
|
end
|
|
33
37
|
|
|
34
|
-
def mojo_msg(
|
|
38
|
+
def mojo_msg(*args)
|
|
35
39
|
msg = {
|
|
36
40
|
'time' => Time.now.utc.strftime("%m-%d-%Y %H:%M:%S.%L %z"),
|
|
37
|
-
'app'
|
|
38
|
-
'
|
|
39
|
-
|
|
40
|
-
'api' => api_request[:api],
|
|
41
|
-
'category' => category,
|
|
42
|
-
'message' => message
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
processed_opts = process_options(options)
|
|
46
|
-
msg.merge!(processed_opts) if processed_opts
|
|
41
|
+
'app' => configurator.application_name,
|
|
42
|
+
'env' => configurator.env
|
|
43
|
+
}.merge!(configurator.adapter.format(*args))
|
|
47
44
|
|
|
48
45
|
msg.to_json
|
|
49
46
|
end
|
data/lib/mojo_logger/version.rb
CHANGED
data/mojo_logger.gemspec
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mojo_logger
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- John Thomas
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-04-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,6 +52,20 @@ dependencies:
|
|
|
52
52
|
- - '>='
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - '>='
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0'
|
|
61
|
+
name: pry
|
|
62
|
+
prerelease: false
|
|
63
|
+
type: :development
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - '>='
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
55
69
|
description: |2
|
|
56
70
|
This gem is a wrapper around log4j that allow you to
|
|
57
71
|
construct a log4j.properties file from a config block, rather than actually
|
|
@@ -72,10 +86,12 @@ files:
|
|
|
72
86
|
- bin/console
|
|
73
87
|
- bin/setup
|
|
74
88
|
- conf/log4j.properties
|
|
89
|
+
- lib/bench/gen.rb
|
|
75
90
|
- lib/jars/log4j-1.2.17.jar
|
|
76
91
|
- lib/mojo_logger.rb
|
|
77
92
|
- lib/mojo_logger/appender.rb
|
|
78
93
|
- lib/mojo_logger/configurator.rb
|
|
94
|
+
- lib/mojo_logger/default_adapter.rb
|
|
79
95
|
- lib/mojo_logger/mojo_logger.rb
|
|
80
96
|
- lib/mojo_logger/version.rb
|
|
81
97
|
- mojo_logger.gemspec
|