pier_logging 0.1.6 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
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