google_logger 1.1.2 → 1.2.0

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: '0854a9725abc6767f415b602471c8d274633f85a8a05a3d33905fd48471d7d01'
4
- data.tar.gz: e5c61eb39cc7c29cf1f6137d7c9de8c1c24dbf2438a07d12650b73cc2a275c86
3
+ metadata.gz: 0b63f1300144826557fc796374cf5dcd15f608a7ba2044f68d011bbac2b01f88
4
+ data.tar.gz: cdef99457af4f3bc04c0c1f666f6014736e120d365a6c1d26560d0c5dacb9c1f
5
5
  SHA512:
6
- metadata.gz: 6c38e64fe55ce1b0750eb09178145ab1dae718ef2056408dfbdc6f7e469a302911e072c0a302b28e677f12590ce7f9f2ae5c1be0d878a47eba7297b0ee2e1982
7
- data.tar.gz: 7301212837685195f2c2e79e29b9f54928a0790a628c9f5784981a3ac886fc9ed04a1448e2b216c134767f607feb723b612c0bf4ca441ed3efe80bb53a163279
6
+ metadata.gz: 4cd40975a4e1aaa7accbcab858f63176b8edc345214b3a9292af2f244baa42f1e731838d7400a7505bfdce2d4950d5ec3852645ee453fdb4efb13d8c3d66c124
7
+ data.tar.gz: a8b3b972f21cfb69365b54c186e1135c3b35eb5725f2f00d70b6021df8c40f6b103409d491da9a9fca53bb402914ae5dcd6cb60b059c5df8abc405590aaa4147
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'logger'
4
+
5
+ module GoogleLogger
6
+ class JsonLogger < ::Logger
7
+ SEVERITY_MAPPING = {
8
+ UNKNOWN => :DEFAULT,
9
+ FATAL => :CRITICAL,
10
+ ERROR => :ERROR,
11
+ WARN => :WARNING,
12
+ INFO => :INFO,
13
+ DEBUG => :DEBUG
14
+ }.freeze
15
+
16
+ def initialize(default_log_name: 'default')
17
+ @default_log_name = default_log_name
18
+ @tagged = nil
19
+ self.level = DEBUG
20
+ end
21
+
22
+ private
23
+
24
+ #
25
+ # @see Logger#add
26
+ #
27
+ def add(severity, message = nil, progname = nil)
28
+ return true if message.blank? && progname.blank?
29
+
30
+ severity ||= UNKNOWN
31
+ return true if severity < level
32
+
33
+ create_formatted_log(severity, message, progname)
34
+ end
35
+
36
+ def create_formatted_log(severity, message = nil, progname = nil)
37
+ log_name = tagged? ? formatter.current_tags.join('.') : @default_log_name
38
+ GoogleLogger.create_entry(
39
+ message || progname,
40
+ log_name: log_name,
41
+ severity: SEVERITY_MAPPING.fetch(severity)
42
+ )
43
+ end
44
+
45
+ def tagged?
46
+ formatter.respond_to?(:current_tags) && formatter.current_tags.any?
47
+ end
48
+ end
49
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GoogleLogger
4
- VERSION = '1.1.2'
4
+ VERSION = '1.2.0'
5
5
  end
data/lib/google_logger.rb CHANGED
@@ -8,6 +8,7 @@ require 'google_logger/loggers/local_logger'
8
8
  require 'google_logger/loggers/base'
9
9
  require 'google_logger/controller_logging'
10
10
  require 'google_logger/params_replacer'
11
+ require 'google_logger/json_logger'
11
12
 
12
13
  # Main module which should serve as an interface to all functionalities
13
14
  module GoogleLogger
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Hric
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-05 00:00:00.000000000 Z
11
+ date: 2022-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 5.2.4.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: logger
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.5.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.5.1
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: stackdriver
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -50,6 +64,7 @@ files:
50
64
  - lib/google_logger.rb
51
65
  - lib/google_logger/configuration.rb
52
66
  - lib/google_logger/controller_logging.rb
67
+ - lib/google_logger/json_logger.rb
53
68
  - lib/google_logger/loggers/base.rb
54
69
  - lib/google_logger/loggers/cloud_logger.rb
55
70
  - lib/google_logger/loggers/local_logger.rb
@@ -61,11 +76,13 @@ licenses:
61
76
  metadata:
62
77
  homepage_uri: https://github.com/panter/google_logger
63
78
  source_code_uri: https://github.com/panter/google_logger
79
+ rubygems_mfa_required: 'true'
64
80
  post_install_message:
65
81
  rdoc_options: []
66
82
  require_paths:
67
83
  - lib
68
84
  - lib/google_logger
85
+ - lib/google_logger/json_logger
69
86
  - lib/google_logger/loggers
70
87
  required_ruby_version: !ruby/object:Gem::Requirement
71
88
  requirements:
@@ -78,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
95
  - !ruby/object:Gem::Version
79
96
  version: '0'
80
97
  requirements: []
81
- rubygems_version: 3.1.2
98
+ rubygems_version: 3.2.3
82
99
  signing_key:
83
100
  specification_version: 4
84
101
  summary: Provides a simple interface to write logs to the google cloud platform.