pier_logging 0.1.6 → 0.1.11

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
  SHA256:
3
- metadata.gz: 0e7b8e8a3faa275bd06c3c99bc040674438cad11985026b2eebca94d8d7cceb7
4
- data.tar.gz: a543d0ec8e3041658df53bdb74c05c3aae9c859f3117d4dd6d848fb2ed06e249
3
+ metadata.gz: 5790108eb8d4e852835319b5ab0aa479b0484a4a7c8557b6c3ed71ceaaae704d
4
+ data.tar.gz: 7c8e4d8772b28bb31ee8cd554635bf5b58394a37f8d8a2bff2f97be79e1d8a04
5
5
  SHA512:
6
- metadata.gz: e7d627a1ee316a282b4399d1b780aa2b62a1c7aefaa2fbee3380472dd4ef4d21a9ab5084fd228b4625d34508a901d3651d65db485f45d95d7967b5414159a6c8
7
- data.tar.gz: dbce9f07acd69a6643ec8de023b1ffb5dc293002a6a2283ead3ebe2ba9153d5dd1d1cfade9d1fcad94019d3686e19354547dab380c4eb26570cacf0bc5e854fc
6
+ metadata.gz: 8c6c86e0fb40803784e7225db81e331d4b7b3de3372cf0311632b098c017c8e434358365de96b9f5d55da061714d314f8ac5c1926a8cab6b3892f9f6cdb1a1c0
7
+ data.tar.gz: f95d6ae0abd0756e597cf8333e156a4f9ecf163737ccd418552f12d496fd8b1387c642c9a28a129ada40dbeacdb3db3bc13d022e285a0cb9baddca118292653e
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pier_logging (0.1.2)
4
+ pier_logging (0.1.7)
5
5
  awesome_print
6
+ facets
6
7
  ougai
7
8
  rails
8
9
 
@@ -70,6 +71,7 @@ GEM
70
71
  concurrent-ruby (1.1.6)
71
72
  crass (1.0.6)
72
73
  erubi (1.9.0)
74
+ facets (3.1.0)
73
75
  globalid (0.4.2)
74
76
  activesupport (>= 4.2.0)
75
77
  i18n (1.8.3)
@@ -1,11 +1,15 @@
1
1
  require "rails"
2
2
  require "ougai"
3
+ require "awesome_print"
4
+ require "facets/hash/traverse"
3
5
  require "pier_logging/version"
4
6
  require "pier_logging/logger"
5
7
  require "pier_logging/request_logger"
6
8
  require "pier_logging/formatter/base"
7
9
  require "pier_logging/formatter/json"
8
10
  require "pier_logging/formatter/readable"
11
+ require "pier_logging/helpers/headers"
12
+ require "pier_logging/helpers/env_config"
9
13
 
10
14
  module PierLogging
11
15
  def self.logger_configuration
@@ -0,0 +1,48 @@
1
+ module PierLogging
2
+ module Helpers
3
+ class EnvConfig
4
+ def self.for(logger = nil, log_dir: 'log', log_file: PierLogging.logger_configuration.env)
5
+ {
6
+ enabled: log_enabled(logger),
7
+ output: log_output(logger, log_dir, log_file),
8
+ level: log_level(logger),
9
+ }
10
+ end
11
+
12
+ private
13
+
14
+ def self.log_output(logger, log_dir, log_file)
15
+ return nil unless log_enabled(logger)
16
+ log_output_env = ENV.fetch(output_env_var(logger), 'STDOUT').upcase
17
+ log_output_env == 'STDOUT' ? STDOUT : output_file_name(log_dir, log_file)
18
+ end
19
+
20
+ def self.log_enabled(logger)
21
+ ENV.fetch(enabled_env_var(logger), 'true') == 'true'
22
+ end
23
+
24
+ def self.log_level(logger)
25
+ ENV.fetch(level_env_var(logger), 'info').upcase
26
+ end
27
+
28
+ def self.output_env_var(logger)
29
+ ['LOG', logger ,'OUTPUT'].compact.join('_').upcase
30
+ end
31
+
32
+ def self.enabled_env_var(logger)
33
+ ['LOG', logger ,'ENABLED'].compact.join('_').upcase
34
+ end
35
+
36
+ def self.level_env_var(logger)
37
+ ['LOG', logger ,'LEVEL'].compact.join('_').upcase
38
+ end
39
+
40
+ def self.output_file_name(log_dir, log_file)
41
+ [
42
+ [ log_dir, log_file ].join('/'),
43
+ 'log'
44
+ ].join('.')
45
+ end
46
+ end
47
+ end
48
+ end
@@ -87,16 +87,15 @@ module PierLogging
87
87
  end
88
88
 
89
89
  def parse_body(body)
90
- if body.is_a? String # when string
91
- Oj.load(body, allow_blank: true)
92
- elsif body.is_a? Array # Grape body
93
- Oj.load(body.last, allow_blank: true)
94
- elsif body.is_a? ActionDispatch::Response::RackBody # Rails body
95
- Oj.load(body.body, allow_blank: true)
96
- else
97
- body
98
- end
90
+ body_object = get_body_object(body)
91
+ Oj.load(body_object, allow_blank: true)
99
92
  rescue
93
+ body_object || body
94
+ end
95
+
96
+ def get_body_object(body)
97
+ return body.last if body.is_a? Array # Grape body
98
+ return body.body if body.is_a? ActionDispatch::Response::RackBody # Rails body
100
99
  body
101
100
  end
102
101
 
@@ -1,3 +1,3 @@
1
1
  module PierLogging
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.11"
3
3
  end
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_dependency "ougai"
27
27
  spec.add_dependency "awesome_print"
28
28
  spec.add_dependency "rails"
29
+ spec.add_dependency "facets"
29
30
 
30
31
  spec.add_development_dependency "bundler", ">= 2.1.4"
31
32
  spec.add_development_dependency "rake", ">= 12.3.3"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pier_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mauricio Banduk
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-03 00:00:00.000000000 Z
11
+ date: 2020-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ougai
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: facets
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -135,6 +149,7 @@ files:
135
149
  - lib/pier_logging/formatter/base.rb
136
150
  - lib/pier_logging/formatter/json.rb
137
151
  - lib/pier_logging/formatter/readable.rb
152
+ - lib/pier_logging/helpers/env_config.rb
138
153
  - lib/pier_logging/helpers/headers.rb
139
154
  - lib/pier_logging/logger.rb
140
155
  - lib/pier_logging/request_logger.rb