mojo_logger 0.1.2-java → 0.1.3-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d7e1f14860fb9109cc8a299e4404fcba0d6d16e3
4
- data.tar.gz: bd519cb901083252da5a4f6e8d6f406531220640
3
+ metadata.gz: 89bc4925d6e1a37712cbc30f39e6a1fc828841b4
4
+ data.tar.gz: 7fc83948413cd2e371582e19e219ca3d281f1692
5
5
  SHA512:
6
- metadata.gz: aa143461a6a84c68ebd2286a2f68774d2a096a1d247eca121595e0a78d4bef0d0af6bf52d28021689403fc9d9c5255c6d14c1676b8f570c5a9b11e5d230d6157
7
- data.tar.gz: bc3838f80ed722cb807a506041462b4217d4c8d416d210c3a2398dfb14f0fac8fdb7acd5940cffaa5469907efd3f6c82d34e55030d6395321379681491cb77b7
6
+ metadata.gz: 7bd80e290202c5c9dd544198850f32a8ae58083dcf6f0f1836ce51bafe36b243eda537e5a6474b3252486f6275462c7de9e06b62ff288a4bcb48ec1e11573771
7
+ data.tar.gz: dbe16c3f70e848ba3a73bac0b1140cf082a3ade7ead5fbbf686f4f10e7b0839bb77b9c23a05f98ea230209d05cac41c797a5f795b75ce980375515efc5eaab36
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # MojoLogger
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/mojo_logger`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ This gem is a wrapper around log4j and is primarily meant to be used in the Mojo framework. It will standardize logs accross Mojo applications and provide a single location to edit the Mojo Logger code base. It comes with a few benefits:
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ * **JSON** Logs will be printed for nice splunk logging when the mojo_* methods are called.
6
+ * No need for a log4j.properties file (although you can use one if you prefer). You can configure the logger on the fly and this gem will build a StringIO object to mock the log4j.properties file
6
7
 
7
8
  ## Installation
8
9
 
@@ -22,7 +23,92 @@ Or install it yourself as:
22
23
 
23
24
  ## Usage
24
25
 
25
- TODO: Write usage instructions here
26
+ #### Simple access to a CONSOLE appender:
27
+
28
+ ```ruby
29
+ require 'mojo_logger'
30
+
31
+ MojoLogger.logger.debug "This is a message"
32
+ #=> This is a message
33
+
34
+ ```
35
+
36
+ #### Mojo Formatted JSON logs
37
+ ```ruby
38
+ require 'mojo_logger'
39
+
40
+ api_request = {
41
+ session_id: '111111-11111',
42
+ reference_id: 'client',
43
+ api: 'get-user-info'
44
+ }
45
+
46
+ MojoLogger.mojo_warn(api_request, "Oops", "Some Warn Message")
47
+ #=> {"time":"08-25-2015 19:22:59.940 +0000","app":"Mojo","session_id":"111111-11111","reference_id":"client","api":"get-user-info","category":"Oops","message":"Some Warn Message"}
48
+
49
+ ```
50
+
51
+ #### Mojo Formatted JSON logs with cusom keys
52
+ ```ruby
53
+ require 'mojo_logger'
54
+
55
+ api_request = {
56
+ session_id: '111111-11111',
57
+ reference_id: 'client',
58
+ api: 'get-user-info'
59
+ }
60
+
61
+ MojoLogger.mojo_warn(api_request, "Oops", "Some Warn Message", {my_key: "Some value", my_other_key: :another_val})
62
+ #=> {"time":"08-25-2015 19:24:57.575 +0000","app":"Mojo","session_id":"111111-11111","reference_id":"client","api":"get-user-info","category":"Oops","message":"Some Warn Message","my_key":"Some value","my_other_key":"another_val"}
63
+
64
+ ```
65
+
66
+
67
+ ## Configuration
68
+
69
+ #### CONSOLE appender with "WARN" log level
70
+ ```ruby
71
+ require 'mojo_logger'
72
+
73
+ MojoLogger.config do |config|
74
+ config.default_log_level = :warn
75
+ end
76
+
77
+ MojoLogger.logger.debug "This won't show up"
78
+ #=> nil
79
+
80
+ MojoLogger.logger.warn "This will show up"
81
+ #=> This will show up
82
+
83
+ ```
84
+
85
+
86
+ #### Rolling File appender
87
+ This will create a rolling file logger rather than a console logger with the following settings:
88
+ Max File Size = 10MB
89
+ Max Backup Index = 10
90
+ Pattern = '%n %m %n' (I need to change this but this is what it is for now.)
91
+
92
+ ```ruby
93
+ require 'mojo_logger'
94
+
95
+ MojoLogger.config do |config|
96
+ config.log_file = '/var/log/my_log.log'
97
+ end
98
+
99
+ ```
100
+
101
+ #### Add Custom lines to the generated log4j.properties 'file'
102
+
103
+ ```ruby
104
+ require 'mojo_logger'
105
+
106
+ MojoLogger.config do |config|
107
+ config.custom_line("log4j.logger.org.apache.zookeeper.ClientCnxn=INFO")
108
+ end
109
+
110
+ ```
111
+
26
112
 
27
113
  ## Development
28
114
 
@@ -64,23 +64,29 @@ module MojoLogger
64
64
  logger.error(mojo_msg(*args))
65
65
  end
66
66
 
67
+ def default_log_level
68
+ configurator.default_log_level
69
+ end
67
70
 
68
71
  def config
69
- @@config = MojoLogger::Configurator.new
70
-
71
- yield(@@config) if block_given?
72
+ if block_given?
73
+ @@config = MojoLogger::Configurator.new
74
+ yield(@@config)
75
+ @@logger = configure_logger
76
+ end
72
77
 
73
- @@logger = configure_logger
74
- @@config
78
+ configurator
75
79
  end
76
80
 
77
81
 
78
- private
82
+ private
79
83
 
80
- def configure_logger
84
+ def configurator
81
85
  @@config ||= MojoLogger::Configurator.new
86
+ end
82
87
 
83
- stringio = StringIO.new(@@config.generate_properties_string)
88
+ def configure_logger
89
+ stringio = StringIO.new(configurator.generate_properties_string)
84
90
  java_stringio = org.jruby.util.IOInputStream.new(stringio)
85
91
 
86
92
  Java::org.apache.log4j.PropertyConfigurator.configure(java_stringio)
@@ -1,3 +1,3 @@
1
1
  module MojoLogger
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
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.1.2
4
+ version: 0.1.3
5
5
  platform: java
6
6
  authors:
7
7
  - John Thomas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-25 00:00:00.000000000 Z
11
+ date: 2015-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement