google-cloud-logging 1.2.1 → 1.2.2
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 43b8c5db09219ded373243da0ca00c843a9fc621
|
4
|
+
data.tar.gz: 1f7283f517b86783fa2411b7a03f93020762851f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd23872d6e35733f0bdf08775bf74922c1be1263dff90af212be364a5a763b58b9a1b41ab3d77bbcdecfeee6b339057deebcbdec66ef8fdfb3033dd2d484ab02
|
7
|
+
data.tar.gz: 3fbbb4a987dd9f3012d1917bdcbe09d7f808fb15d815fd3b3c932e92f6bba78a70435766288cab945d912ce37697b507d70985601add2afeb6bd1ab0fd982e37
|
data/README.md
CHANGED
@@ -95,8 +95,6 @@ This library is supported on Ruby 2.0+.
|
|
95
95
|
|
96
96
|
This library follows [Semantic Versioning](http://semver.org/).
|
97
97
|
|
98
|
-
It is currently in major version zero (0.y.z), which means that anything may change at any time and the public API should not be considered stable.
|
99
|
-
|
100
98
|
## Contributing
|
101
99
|
|
102
100
|
Contributions to this library are always welcome and highly encouraged.
|
@@ -47,7 +47,7 @@ module Google
|
|
47
47
|
# The log_name is a String that controls the name of the Stackdriver
|
48
48
|
# log to write to. If it is nil, the default log_name for this Logger
|
49
49
|
# is used.
|
50
|
-
RequestInfo = ::Struct.new :trace_id, :log_name
|
50
|
+
RequestInfo = ::Struct.new :trace_id, :log_name, :env
|
51
51
|
|
52
52
|
##
|
53
53
|
# The Google Cloud writer object that calls to {#write_entries} are made
|
@@ -429,11 +429,14 @@ module Google
|
|
429
429
|
# should be logged.
|
430
430
|
# @param [String, nil] log_name The log name to use, or nil to use
|
431
431
|
# this logger's default.
|
432
|
+
# @param [Hash, nil] env The request's Rack environment or `nil` if not
|
433
|
+
# available.
|
432
434
|
#
|
433
435
|
def add_request_info info: nil,
|
436
|
+
env: nil,
|
434
437
|
trace_id: nil,
|
435
438
|
log_name: nil
|
436
|
-
info ||= RequestInfo.new trace_id, log_name
|
439
|
+
info ||= RequestInfo.new trace_id, log_name, env
|
437
440
|
@request_info[current_thread_id] = info
|
438
441
|
|
439
442
|
# Start removing old entries if hash gets too large.
|
@@ -549,7 +552,9 @@ module Google
|
|
549
552
|
end
|
550
553
|
end
|
551
554
|
|
552
|
-
|
555
|
+
request_env = info && request_info.env || {}
|
556
|
+
|
557
|
+
compute_labels(request_env).merge(merged_labels)
|
553
558
|
end
|
554
559
|
|
555
560
|
##
|
@@ -582,6 +587,29 @@ module Google
|
|
582
587
|
def current_thread_id
|
583
588
|
Thread.current.object_id
|
584
589
|
end
|
590
|
+
|
591
|
+
private
|
592
|
+
|
593
|
+
##
|
594
|
+
# @private Compute values for labels
|
595
|
+
def compute_labels request_env
|
596
|
+
Hash[
|
597
|
+
labels.map do |k, value_or_proc|
|
598
|
+
[k, compute_label_value(request_env, value_or_proc)]
|
599
|
+
end
|
600
|
+
]
|
601
|
+
end
|
602
|
+
|
603
|
+
##
|
604
|
+
# @private Compute individual label value.
|
605
|
+
# Value can be a Proc (function of the request env) or a static value.
|
606
|
+
def compute_label_value request_env, value_or_proc
|
607
|
+
if value_or_proc.respond_to?(:call)
|
608
|
+
value_or_proc.call(request_env)
|
609
|
+
else
|
610
|
+
value_or_proc
|
611
|
+
end
|
612
|
+
end
|
585
613
|
end
|
586
614
|
end
|
587
615
|
end
|
@@ -83,7 +83,8 @@ module Google
|
|
83
83
|
env["rack.logger"] = logger
|
84
84
|
trace_id = get_trace_id env
|
85
85
|
log_name = get_log_name env
|
86
|
-
logger.add_request_info trace_id: trace_id, log_name: log_name
|
86
|
+
logger.add_request_info trace_id: trace_id, log_name: log_name,
|
87
|
+
env: env
|
87
88
|
begin
|
88
89
|
@app.call env
|
89
90
|
ensure
|
@@ -362,7 +362,8 @@ module Google
|
|
362
362
|
# @param [Google::Cloud::Logging::Resource] resource The monitored
|
363
363
|
# resource to be associated with written log entries.
|
364
364
|
# @param [Hash] labels A set of user-defined data to be associated with
|
365
|
-
# written log entries.
|
365
|
+
# written log entries. Values can be strings or Procs which are
|
366
|
+
# functions of the request environment.
|
366
367
|
#
|
367
368
|
# @return [Google::Cloud::Logging::Logger] a Logger object that can be
|
368
369
|
# used in place of a ruby standard library logger object.
|
@@ -63,6 +63,7 @@ module Google
|
|
63
63
|
resource_type = Logging.configure.monitored_resource.type
|
64
64
|
resource_labels = Logging.configure.monitored_resource.labels
|
65
65
|
log_name = Logging.configure.log_name
|
66
|
+
labels = Logging.configure.labels
|
66
67
|
|
67
68
|
logging = Google::Cloud::Logging.new project: project_id,
|
68
69
|
keyfile: keyfile
|
@@ -70,7 +71,7 @@ module Google
|
|
70
71
|
Logging::Middleware.build_monitored_resource resource_type,
|
71
72
|
resource_labels
|
72
73
|
|
73
|
-
app.config.logger = logging.logger log_name, resource
|
74
|
+
app.config.logger = logging.logger log_name, resource, labels
|
74
75
|
app.middleware.insert_before Rails::Rack::Logger,
|
75
76
|
Google::Cloud::Logging::Middleware,
|
76
77
|
logger: app.config.logger
|
@@ -109,7 +110,7 @@ module Google
|
|
109
110
|
##
|
110
111
|
# @private Merge Rails configuration into Logging instrumentation
|
111
112
|
# configuration.
|
112
|
-
def self.merge_rails_config rails_config
|
113
|
+
def self.merge_rails_config rails_config # rubocop:disable AbcSize
|
113
114
|
gcp_config = rails_config.google_cloud
|
114
115
|
logging_config = gcp_config.logging
|
115
116
|
|
@@ -119,6 +120,7 @@ module Google
|
|
119
120
|
gcp_config.project_id
|
120
121
|
config.keyfile ||= logging_config.keyfile || gcp_config.keyfile
|
121
122
|
config.log_name ||= logging_config.log_name
|
123
|
+
config.labels ||= logging_config.labels
|
122
124
|
config.log_name_map ||= logging_config.log_name_map
|
123
125
|
config.monitored_resource.type ||=
|
124
126
|
logging_config.monitored_resource.type
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-logging
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Moore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-09-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-cloud-core
|
@@ -286,7 +286,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
286
286
|
version: '0'
|
287
287
|
requirements: []
|
288
288
|
rubyforge_project:
|
289
|
-
rubygems_version: 2.6.
|
289
|
+
rubygems_version: 2.6.13
|
290
290
|
signing_key:
|
291
291
|
specification_version: 4
|
292
292
|
summary: API Client library for Stackdriver Logging
|