google_logger 1.0.0 → 1.1.2

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: 6d992358263779aad83ebfcc34161a69d2ccad81ac6dba67dd36ac110a2b5d3c
4
- data.tar.gz: 34612d6398a35047a3bba53fc83f59afd0ea58b84226c8b60f2c572c63a6b3df
3
+ metadata.gz: '0854a9725abc6767f415b602471c8d274633f85a8a05a3d33905fd48471d7d01'
4
+ data.tar.gz: e5c61eb39cc7c29cf1f6137d7c9de8c1c24dbf2438a07d12650b73cc2a275c86
5
5
  SHA512:
6
- metadata.gz: d54e6e687f4afb7059bb366b198cd53ffc8a19882a88dda84d39efbd637eb77fced4a963a2df7c76e39612e5d9b2469eab8740b74f1c327fcb906863a5c19272
7
- data.tar.gz: 11509739cfacf03d16a94722b63527d6d971c8ffd3b0be3df9c95d25026e45ff8c917c112aacfd90d94ca0c8e27eb57f0d7288a5e06b863aa72188e7f3a39f56
6
+ metadata.gz: 6c38e64fe55ce1b0750eb09178145ab1dae718ef2056408dfbdc6f7e469a302911e072c0a302b28e677f12590ce7f9f2ae5c1be0d878a47eba7297b0ee2e1982
7
+ data.tar.gz: 7301212837685195f2c2e79e29b9f54928a0790a628c9f5784981a3ac886fc9ed04a1448e2b216c134767f607feb723b612c0bf4ca441ed3efe80bb53a163279
@@ -12,6 +12,7 @@ module GoogleLogger
12
12
  credentials
13
13
  log_locally
14
14
  local_logger
15
+ backtrace_length
15
16
  ])
16
17
 
17
18
  # Creates a new instance with default configuration values
@@ -22,6 +23,7 @@ module GoogleLogger
22
23
  @secret_params = %i[password]
23
24
  @secret_param_value = '<SECRET_PARAM>'
24
25
  @log_locally = false
26
+ @backtrace_length = 10
25
27
  end
26
28
 
27
29
  def validate!
@@ -34,7 +34,7 @@ module GoogleLogger
34
34
  #
35
35
  # return [Boolean] `true` if the entry was successfully written
36
36
  def write_entry(entry)
37
- log_writer = configuration.async ? @project : @project.async_writer
37
+ log_writer = configuration.async ? @project.async_writer : @project
38
38
  log_writer.write_entries(entry)
39
39
  end
40
40
  end
@@ -26,7 +26,9 @@ module GoogleLogger
26
26
  end
27
27
 
28
28
  class << self
29
- delegate :deep_replace_secret_params, to: :new
29
+ def deep_replace_secret_params(params)
30
+ new.deep_replace_secret_params(params)
31
+ end
30
32
  end
31
33
  end
32
34
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GoogleLogger
4
- VERSION = '1.0.0'
5
- end
4
+ VERSION = '1.1.2'
5
+ end
data/lib/google_logger.rb CHANGED
@@ -60,7 +60,7 @@ module GoogleLogger
60
60
  payload = {
61
61
  message: exception.message,
62
62
  exception: exception.class.name,
63
- bactrace: exception.backtrace&.first(5)
63
+ bactrace: exception.backtrace&.first(configuration.backtrace_length)
64
64
  }
65
65
 
66
66
  create_entry(payload, log_name: 'error', severity: :ERROR)
@@ -92,11 +92,7 @@ module GoogleLogger
92
92
  #
93
93
  # @return [Object] GoogleLogger::Logger by default, local logger if `loc_locally` is set to true
94
94
  def logger
95
- if configuration.log_locally
96
- Loggers::LocalLogger.new
97
- else
98
- Loggers::CloudLogger.new
99
- end
95
+ configuration.log_locally ? local_logger : cloud_logger
100
96
  end
101
97
 
102
98
  # Log gem errors locally if local_logger is present
@@ -107,8 +103,19 @@ module GoogleLogger
107
103
  local_logger.error "GOOGLE_LOGGER ERROR: #{exception.inspect}" if local_logger.present?
108
104
  end
109
105
 
106
+ # mask secret param values
110
107
  def deep_replace_secret_params(params)
111
108
  ParamsReplacer.deep_replace_secret_params(params)
112
109
  end
110
+
111
+ # get a cached instance of a local logger
112
+ def local_logger
113
+ @local_logger ||= Loggers::LocalLogger.new
114
+ end
115
+
116
+ # get a cached instance of a cloud logger
117
+ def cloud_logger
118
+ @cloud_logger ||= Loggers::CloudLogger.new
119
+ end
113
120
  end
114
121
  end
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.0.0
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Hric
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-07 00:00:00.000000000 Z
11
+ date: 2022-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -78,8 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  - !ruby/object:Gem::Version
79
79
  version: '0'
80
80
  requirements: []
81
- rubyforge_project:
82
- rubygems_version: 2.7.6.2
81
+ rubygems_version: 3.1.2
83
82
  signing_key:
84
83
  specification_version: 4
85
84
  summary: Provides a simple interface to write logs to the google cloud platform.