biola_logs 0.1.0 → 0.2.1
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/README.md +26 -2
- data/lib/biola_logs.rb +1 -0
- data/lib/biola_logs/generators.rb +5 -0
- data/lib/biola_logs/generators/headers.rb +37 -0
- data/lib/biola_logs/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c26cee0e0e3494d6294520b3e4e28d6129c7fd80
|
4
|
+
data.tar.gz: f1ca6c6a8fbb86bb1ac02e9d2bdcc7d53963a1a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9fecd0263f8464aad5742b2c4ca21bfd9fdfbbdc5b5f8940f4cf86bd9ae8226674a2156bba09528460a2d8184e5eb5aa4f476e29a15f089b040b817c435a0797
|
7
|
+
data.tar.gz: ccb871e2cc83e6db1b7e3166da87bddceb02e2afa70cae1dcd900bf25b692eca70c038557970502f2056bd461877647167534a2e96ff232482a0889448f4ba7a
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Biola Logs
|
2
2
|
==========
|
3
3
|
|
4
|
-
A simple gem to standardize log formatting across all our Rails apps
|
4
|
+
A simple gem to standardize log formatting across all our Rails apps using [lograge](https://github.com/roidrage/lograge).
|
5
5
|
|
6
6
|
Usage
|
7
7
|
-----
|
@@ -12,7 +12,31 @@ Add the following to your `Gemfile`
|
|
12
12
|
gem 'biola_logs'
|
13
13
|
```
|
14
14
|
|
15
|
-
|
15
|
+
Biola Logs doesn't include PID and timestamp, so assuming you want those you'll need to add the following to your environment file(s) (eg. /config/environments/production.rb)
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
# Use default logging formatter so that PID and timestamp are not suppressed.
|
19
|
+
config.log_formatter = ::Logger::Formatter.new
|
20
|
+
```
|
21
|
+
|
22
|
+
To log `session_id`, `request_id` (or uuid), and `host_name` you need to add the following custom variables to payload in your controller. The `Headers` generator will pull these custom variables out and add them to the hash passed to lograge's `custom_options` config method.
|
23
|
+
|
24
|
+
```ruby
|
25
|
+
# app/controllers/application_controller.rb
|
26
|
+
class ApplicationController < ActionController::Base
|
27
|
+
def append_info_to_payload(payload)
|
28
|
+
super
|
29
|
+
payload[:session_id] = request.session_options[:id]
|
30
|
+
payload[:uuid] = request.uuid
|
31
|
+
payload[:host] = request.host
|
32
|
+
end
|
33
|
+
end
|
34
|
+
```
|
35
|
+
|
36
|
+
Generators
|
37
|
+
----------
|
38
|
+
|
39
|
+
Generators inherit from the `Base` class and should override the `to_hash` method. `Generators.handler` merges the returned hash from each generator to populate `config.lograge.custom_options` in railtie.rb.
|
16
40
|
|
17
41
|
License
|
18
42
|
-------
|
data/lib/biola_logs.rb
CHANGED
@@ -1,10 +1,15 @@
|
|
1
1
|
module BiolaLogs
|
2
2
|
module Generators
|
3
3
|
def self.all
|
4
|
+
# Class method to get all classes in the BiolaLogs::Generators module
|
5
|
+
# returns an Array, skipping BiolaLogs::Generators::Base
|
6
|
+
# example: [BiolaLogs::Generators::Params, BiolaLogs::Generators::Headers]
|
4
7
|
self.constants.map(&self.method(:const_get)).grep(Class) - [Base]
|
5
8
|
end
|
6
9
|
|
7
10
|
def self.handler
|
11
|
+
# Class method that returns a hash of key/value pairs for `config.lograge.custom_options`
|
12
|
+
# Calls to_hash() on all generators and merges the results into a single hash
|
8
13
|
Proc.new do |event|
|
9
14
|
self.all.each_with_object({}) do |klass, hash|
|
10
15
|
hash.merge! klass.new(event).to_hash
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module BiolaLogs
|
2
|
+
module Generators
|
3
|
+
class Headers < Base
|
4
|
+
|
5
|
+
def to_hash
|
6
|
+
if method_supported?
|
7
|
+
h = {}
|
8
|
+
h[:session_id] = session_id if session_id
|
9
|
+
h[:host_name] = host if host
|
10
|
+
h[:request_id] = uuid if uuid
|
11
|
+
h
|
12
|
+
else
|
13
|
+
{}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def session_id
|
20
|
+
event.payload[:session_id] #requires adding :session_id to payload
|
21
|
+
end
|
22
|
+
|
23
|
+
def uuid
|
24
|
+
event.payload[:uuid] #requires adding :uuid to payload
|
25
|
+
end
|
26
|
+
|
27
|
+
def host
|
28
|
+
event.payload[:host] #requires adding :host to payload
|
29
|
+
end
|
30
|
+
|
31
|
+
def method_supported?
|
32
|
+
# SUPPORTED_HTTP_METHODS.include?(event.payload[:method])
|
33
|
+
true
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/biola_logs/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: biola_logs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Crownoble
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lograge
|
@@ -35,6 +35,7 @@ files:
|
|
35
35
|
- lib/biola_logs.rb
|
36
36
|
- lib/biola_logs/generators.rb
|
37
37
|
- lib/biola_logs/generators/base.rb
|
38
|
+
- lib/biola_logs/generators/headers.rb
|
38
39
|
- lib/biola_logs/generators/params.rb
|
39
40
|
- lib/biola_logs/railtie.rb
|
40
41
|
- lib/biola_logs/version.rb
|