google-cloud-logging 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +18 -0
  3. data/AUTHENTICATION.md +178 -0
  4. data/CHANGELOG.md +407 -0
  5. data/CODE_OF_CONDUCT.md +40 -0
  6. data/CONTRIBUTING.md +188 -0
  7. data/INSTRUMENTATION.md +71 -0
  8. data/LICENSE +201 -0
  9. data/LOGGING.md +32 -0
  10. data/OVERVIEW.md +321 -0
  11. data/TROUBLESHOOTING.md +31 -0
  12. data/lib/google-cloud-logging.rb +161 -0
  13. data/lib/google/cloud/logging.rb +188 -0
  14. data/lib/google/cloud/logging/async_writer.rb +513 -0
  15. data/lib/google/cloud/logging/convert.rb +70 -0
  16. data/lib/google/cloud/logging/credentials.rb +44 -0
  17. data/lib/google/cloud/logging/entry.rb +528 -0
  18. data/lib/google/cloud/logging/entry/http_request.rb +167 -0
  19. data/lib/google/cloud/logging/entry/list.rb +178 -0
  20. data/lib/google/cloud/logging/entry/operation.rb +91 -0
  21. data/lib/google/cloud/logging/entry/source_location.rb +85 -0
  22. data/lib/google/cloud/logging/errors.rb +101 -0
  23. data/lib/google/cloud/logging/log/list.rb +156 -0
  24. data/lib/google/cloud/logging/logger.rb +633 -0
  25. data/lib/google/cloud/logging/metric.rb +168 -0
  26. data/lib/google/cloud/logging/metric/list.rb +170 -0
  27. data/lib/google/cloud/logging/middleware.rb +307 -0
  28. data/lib/google/cloud/logging/project.rb +838 -0
  29. data/lib/google/cloud/logging/rails.rb +232 -0
  30. data/lib/google/cloud/logging/resource.rb +85 -0
  31. data/lib/google/cloud/logging/resource_descriptor.rb +137 -0
  32. data/lib/google/cloud/logging/resource_descriptor/list.rb +175 -0
  33. data/lib/google/cloud/logging/service.rb +239 -0
  34. data/lib/google/cloud/logging/sink.rb +315 -0
  35. data/lib/google/cloud/logging/sink/list.rb +168 -0
  36. data/lib/google/cloud/logging/version.rb +22 -0
  37. metadata +304 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7260d28a439e63fe96c5fa11487110226714c1f6faf62ed29ffeb48aba5c1914
4
+ data.tar.gz: c6eeefa5d3000417ca70eecbcc3a947268776947ad4922e08cb572579ae46257
5
+ SHA512:
6
+ metadata.gz: fc5593e6afcb5076293746ed65d754ba32b65df69e6749198eef48e9c23e0277e558fb2abb6064917ee947376d6506349916c9ea003f1bc59bcb89e0e3a71a9e
7
+ data.tar.gz: c4cf55027963d1ab020e3cae9049087dbf602860c5eb81c623059d5d6f3c4d0495cd30abda2b621ac385ba77c0c68ace6a9bb5851b90ac57fe57f28ce510a631
@@ -0,0 +1,18 @@
1
+ --no-private
2
+ --title=Stackdriver Logging
3
+ --exclude _pb\.rb$
4
+ --markup markdown
5
+ --markup-provider redcarpet
6
+ --main OVERVIEW.md
7
+
8
+ ./lib/**/*.rb
9
+ -
10
+ OVERVIEW.md
11
+ AUTHENTICATION.md
12
+ INSTRUMENTATION.md
13
+ LOGGING.md
14
+ CONTRIBUTING.md
15
+ TROUBLESHOOTING.md
16
+ CHANGELOG.md
17
+ CODE_OF_CONDUCT.md
18
+ LICENSE
@@ -0,0 +1,178 @@
1
+ # Authentication
2
+
3
+ In general, the google-cloud-logging library uses [Service
4
+ Account](https://cloud.google.com/iam/docs/creating-managing-service-accounts)
5
+ credentials to connect to Google Cloud services. When running within [Google
6
+ Cloud Platform environments](#google-cloud-platform-environments)
7
+ the credentials will be discovered automatically. When running on other
8
+ environments, the Service Account credentials can be specified by providing the
9
+ path to the [JSON
10
+ keyfile](https://cloud.google.com/iam/docs/managing-service-account-keys) for
11
+ the account (or the JSON itself) in [environment
12
+ variables](#environment-variables). Additionally, Cloud SDK credentials can also
13
+ be discovered automatically, but this is only recommended during development.
14
+
15
+ ## Quickstart
16
+
17
+ 1. [Create a service account and credentials](#creating-a-service-account).
18
+ 2. Set the [environment variable](#environment-variables).
19
+
20
+ ```sh
21
+ export LOGGING_CREDENTIALS=/path/to/json`
22
+ ```
23
+
24
+ 3. Initialize the client.
25
+
26
+ ```ruby
27
+ require "google/cloud/logging"
28
+
29
+ client = Google::Cloud::Logging.new
30
+ ```
31
+
32
+ ## Project and Credential Lookup
33
+
34
+ The google-cloud-logging library aims to make authentication
35
+ as simple as possible, and provides several mechanisms to configure your system
36
+ without providing **Project ID** and **Service Account Credentials** directly in
37
+ code.
38
+
39
+ **Project ID** is discovered in the following order:
40
+
41
+ 1. Specify project ID in method arguments
42
+ 2. Specify project ID in configuration
43
+ 3. Discover project ID in environment variables
44
+ 4. Discover GCE project ID
45
+ 5. Discover project ID in credentials JSON
46
+
47
+ **Credentials** are discovered in the following order:
48
+
49
+ 1. Specify credentials in method arguments
50
+ 2. Specify credentials in configuration
51
+ 3. Discover credentials path in environment variables
52
+ 4. Discover credentials JSON in environment variables
53
+ 5. Discover credentials file in the Cloud SDK's path
54
+ 6. Discover GCE credentials
55
+
56
+ ### Google Cloud Platform environments
57
+
58
+ When running on Google Cloud Platform (GCP), including Google Compute Engine (GCE),
59
+ Google Kubernetes Engine (GKE), Google App Engine (GAE), Google Cloud Functions
60
+ (GCF) and Cloud Run, the **Project ID** and **Credentials** and are discovered
61
+ automatically. Code should be written as if already authenticated.
62
+
63
+ ### Environment Variables
64
+
65
+ The **Project ID** and **Credentials JSON** can be placed in environment
66
+ variables instead of declaring them directly in code. Each service has its own
67
+ environment variable, allowing for different service accounts to be used for
68
+ different services. (See the READMEs for the individual service gems for
69
+ details.) The path to the **Credentials JSON** file can be stored in the
70
+ environment variable, or the **Credentials JSON** itself can be stored for
71
+ environments such as Docker containers where writing files is difficult or not
72
+ encouraged.
73
+
74
+ The environment variables that google-cloud-logging checks for project ID are:
75
+
76
+ 1. `LOGGING_PROJECT`
77
+ 2. `GOOGLE_CLOUD_PROJECT`
78
+
79
+ The environment variables that google-cloud-logging checks for credentials are
80
+ configured on `Google::Cloud::Logging::V2::LoggingService::Credentials`:
81
+
82
+ 1. `LOGGING_CREDENTIALS` - Path to JSON file, or JSON contents
83
+ 2. `LOGGING_KEYFILE` - Path to JSON file, or JSON contents
84
+ 3. `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
85
+ 4. `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
86
+ 5. `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
87
+
88
+ ```ruby
89
+ require "google/cloud/logging"
90
+
91
+ ENV["LOGGING_PROJECT"] = "my-project-id"
92
+ ENV["LOGGING_CREDENTIALS"] = "path/to/keyfile.json"
93
+
94
+ client = Google::Cloud::Logging.new
95
+ ```
96
+
97
+ ### Configuration
98
+
99
+ The **Project ID** and **Credentials JSON** can be configured instead of placing them in environment variables or providing them as arguments.
100
+
101
+ ```ruby
102
+ require "google/cloud/logging"
103
+
104
+ Google::Cloud::Logging.configure do |config|
105
+ config.project_id = "my-project-id"
106
+ config.credentials = "path/to/keyfile.json"
107
+ end
108
+
109
+ client = Google::Cloud::Logging.new
110
+ ```
111
+
112
+ ### Cloud SDK
113
+
114
+ This option allows for an easy way to authenticate during development. If
115
+ credentials are not provided in code or in environment variables, then Cloud SDK
116
+ credentials are discovered.
117
+
118
+ To configure your system for this, simply:
119
+
120
+ 1. [Download and install the Cloud SDK](https://cloud.google.com/sdk)
121
+ 2. Authenticate using OAuth 2.0 `$ gcloud auth login`
122
+ 3. Write code as if already authenticated.
123
+
124
+ **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
125
+ *should* only be used during development.
126
+
127
+ [gce-how-to]: https://cloud.google.com/compute/docs/authentication#using
128
+ [dev-console]: https://console.cloud.google.com/project
129
+
130
+ [enable-apis]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/enable-apis.png
131
+
132
+ [create-new-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account.png
133
+ [create-new-service-account-existing-keys]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account-existing-keys.png
134
+ [reuse-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/reuse-service-account.png
135
+
136
+ ## Creating a Service Account
137
+
138
+ Google Cloud requires a **Project ID** and **Service Account Credentials** to
139
+ connect to the APIs. You will use the **Project ID** and **JSON key file** to
140
+ connect to most services with google-cloud-logging.
141
+
142
+ If you are not running this client within [Google Cloud Platform
143
+ environments](#google-cloud-platform-environments), you need a Google
144
+ Developers service account.
145
+
146
+ 1. Visit the [Google Developers Console][dev-console].
147
+ 1. Create a new project or click on an existing project.
148
+ 1. Activate the slide-out navigation tray and select **API Manager**. From
149
+ here, you will enable the APIs that your application requires.
150
+
151
+ ![Enable the APIs that your application requires][enable-apis]
152
+
153
+ *Note: You may need to enable billing in order to use these services.*
154
+
155
+ 1. Select **Credentials** from the side navigation.
156
+
157
+ You should see a screen like one of the following.
158
+
159
+ ![Create a new service account][create-new-service-account]
160
+
161
+ ![Create a new service account With Existing Keys][create-new-service-account-existing-keys]
162
+
163
+ Find the "Add credentials" drop down and select "Service account" to be
164
+ guided through downloading a new JSON key file.
165
+
166
+ If you want to re-use an existing service account, you can easily generate a
167
+ new key file. Just select the account you wish to re-use, and click "Generate
168
+ new JSON key":
169
+
170
+ ![Re-use an existing service account][reuse-service-account]
171
+
172
+ The key file you download will be used by this library to authenticate API
173
+ requests and should be stored in a secure location.
174
+
175
+ ## Troubleshooting
176
+
177
+ If you're having trouble authenticating you can ask for help by following the
178
+ {file:TROUBLESHOOTING.md Troubleshooting Guide}.
@@ -0,0 +1,407 @@
1
+ # Release History
2
+
3
+ ### 2.0.0 / 2020-07-21
4
+
5
+ This is a major update that removes the "low-level" client interface code, and
6
+ instead adds the new `google-cloud-logging-v2` gem as a dependency.
7
+ The new dependency is a rewritten low-level client, produced by a next-
8
+ generation client code generator, with improved performance and stability.
9
+
10
+ This change should have no effect on the high-level interface that most users
11
+ will use. The one exception is that the (mostly undocumented) `client_config`
12
+ argument, for adjusting low-level parameters such as RPC retry settings on
13
+ client objects, has been removed. If you need to adjust these parameters, use
14
+ the configuration interface in `google-cloud-logging-v2`.
15
+
16
+ Substantial changes have been made in the low-level interfaces, however. If you
17
+ are using the low-level classes under the `Google::Cloud::Logging::V2` module,
18
+ please review the docs for the new `google-cloud-logging-v2` gem. In
19
+ particular:
20
+
21
+ * Some classes have been renamed, notably the client class itself.
22
+ * The client constructor takes a configuration block instead of configuration
23
+ keyword arguments.
24
+ * All RPC method arguments are now keyword arguments.
25
+
26
+ ### 1.10.9 / 2020-06-17
27
+
28
+ #### Documentation
29
+
30
+ * Improved field descriptions in the low-level interface.
31
+
32
+ ### 1.10.8 / 2020-06-12
33
+
34
+ #### Documentation
35
+
36
+ * Provide more details on low-level monitored resource data types
37
+
38
+ ### 1.10.7 / 2020-05-28
39
+
40
+ #### Documentation
41
+
42
+ * Fix a few broken links
43
+
44
+ ### 1.10.6 / 2020-05-19
45
+
46
+ #### Bug Fixes
47
+
48
+ * Adjusted some default timeout and retry settings
49
+
50
+ ### 1.10.5 / 2020-05-05
51
+
52
+ #### Bug Fixes
53
+
54
+ * Prevent error when calling stop! on unused AsyncWriter
55
+
56
+ ### 1.10.4 / 2020-04-20
57
+
58
+ #### Documentation
59
+
60
+ * Fix some broken links in the Project and Sink docs
61
+
62
+ ### 1.10.3 / 2020-04-06
63
+
64
+ #### Documentation
65
+
66
+ * Fix some broken links in the low-level interface documentation.
67
+
68
+ ### 1.10.2 / 2020-04-01
69
+
70
+ #### Bug Fixes
71
+
72
+ * Restore some path helpers in the low-level interface.
73
+
74
+ ### 1.10.1 / 2020-03-19
75
+
76
+ #### Bug Fixes
77
+
78
+ * Restore billing, folder, and organization path helpers in low-level interface
79
+
80
+ ### 1.10.0 / 2020-03-16
81
+
82
+ #### Features
83
+
84
+ * support separate project setting for quota/billing
85
+
86
+ #### Low-level interface updates
87
+
88
+ * Add LogBucket
89
+ * Add ConfigServiceV2Client#list_buckets
90
+ * Add ConfigServiceV2Client#get_bucket
91
+ * Add ConfigServiceV2Client#update_bucket
92
+ * Add LifecycleState enum
93
+ * Change name to positional param in ConfigServiceV2Client#get_cmek_settings
94
+ * Change name and cmek_settings to positional params in ConfigServiceV2Client#update_cmek_settings
95
+ * Remove billing, folder, and organization path helpers from ConfigServiceV2Client
96
+ * Remove LogEntry#metadata
97
+ * Remove previously deprecated project_ids from LoggingServiceV2Client#list_log_entries
98
+ * Remove log_path helpers from LoggingServiceV2Client
99
+ * Rename ConfigServiceV2Client#billing_path to #billing_account_path
100
+ * Rename LoggingServiceV2Client#billing_path to #billing_account_path
101
+ * Rename MetricsServiceV2Client#metric_path to #log_metric_path
102
+ * Update network configuration settings
103
+
104
+ ### 1.9.5 / 2020-02-24
105
+
106
+ #### Documentation
107
+
108
+ * Fix doc links to Cmek methods in lower-level client
109
+
110
+ ### 1.9.4 / 2020-01-23
111
+
112
+ #### Documentation
113
+
114
+ * Update copyright year
115
+
116
+ ### 1.9.3 / 2019-12-20
117
+
118
+ #### Documentation
119
+
120
+ * Update description of MetricDescriptor#unit in lower-level API
121
+
122
+ ### 1.9.2 / 2019-12-18
123
+
124
+ #### Bug Fixes
125
+
126
+ * Fix MonitorMixin usage on Ruby 2.7
127
+ * Ruby 2.7 will error if new_cond is called before super().
128
+ * Make the call to super() be the first call in initialize
129
+
130
+ #### Documentation
131
+
132
+ * Update docs for lower-level API call MetricDescriptorMetadata#unit
133
+
134
+ ### 1.9.1 / 2019-11-06
135
+
136
+ #### Bug Fixes
137
+
138
+ * Update minimum runtime dependencies
139
+
140
+ ### 1.9.0 / 2019-10-29
141
+
142
+ This release requires Ruby 2.4 or later.
143
+
144
+ #### Documentation
145
+
146
+ * Clarify which Google Cloud Platform environments support automatic authentication
147
+
148
+ ### 1.8.0 / 2019-10-03
149
+
150
+ #### Features
151
+
152
+ * Support additional fields of LogSink in the low-level interface
153
+ * Add LogSink#create_time field
154
+ * Add LogSink#update_time field
155
+ * Add LogSink#bigquery_options field
156
+ * Add BigQueryOptions type
157
+ * Update documentation
158
+
159
+ ### 1.7.0 / 2019-08-23
160
+
161
+ #### Features
162
+
163
+ * Support overriding of service endpoint
164
+
165
+ ### 1.6.6 / 2019-07-31
166
+
167
+ * Fix max threads setting in thread pools
168
+ * Thread pools once again limit the number of threads allocated.
169
+ * Update documentation links
170
+
171
+ ### 1.6.5 / 2019-07-08
172
+
173
+ * Support overriding service host and port in the low-level interface.
174
+
175
+ ### 1.6.4 / 2019-06-11
176
+
177
+ * Add documentation for MetricDescriptor#launch_stage and
178
+ MonitoredResourceDescriptor#launch_stage.
179
+ * Deprecate MetricDescriptor:: MetricDescriptorMetadata#launch_stage
180
+ * Use VERSION constant in GAPIC client
181
+
182
+ ### 1.6.3 / 2019-04-29
183
+
184
+ * Add AUTHENTICATION.md guide.
185
+ * Update generated documentation.
186
+ * Update generated code examples.
187
+ * Extract gRPC header values from request.
188
+
189
+ ### 1.6.2 / 2019-02-13
190
+
191
+ * Fix bug (typo) in retrieving default on_error proc.
192
+
193
+ ### 1.6.1 / 2019-02-07
194
+
195
+ * Update concurrent-ruby dependency
196
+
197
+ ### 1.6.0 / 2019-01-22
198
+
199
+ * AsyncWriter buffer entries and make batch API calls
200
+ * Update AsyncWriter to buffer log entries and batch API calls.
201
+ * Maintain backwards compatibility with the previous AsyncWriter's public API,
202
+ although the implementation is changed.
203
+ * Back pressure is applied by limiting the number of queued API calls.
204
+ Errors will now be raised when there are not enough resources.
205
+ * Errors are reported using the AsyncWriter#on_error callback.
206
+ * Pending log entries are sent before the process closes using at_exit.
207
+ * Add Logging on_error configuration.
208
+ * Add default insert_id value for Entry
209
+ * Add Entry.insert_id
210
+ * Add default insert_id value for Entry
211
+ An Entry object is assigned an insert_id when created so that if the
212
+ Entry object gets persisted multiple times it would know its insert_id
213
+ value and not attempt to generate a new one for each persist attempt.
214
+ An Entry object will still be considered empty if the only value it has
215
+ is the insert_id.
216
+ * (This change does not use SecureRandom for performance reasons.)
217
+ * Add Logging trace_sampled
218
+ * Add Entry#trace_sampled attribute
219
+ * Add trace_sampled to Logger::RequestInfo
220
+ * Changes to Rails default Logger
221
+ * Delay updating the Rails default logger until the first web request.
222
+ * This will avoid issues with forking processes and gRPC resources.
223
+ * This is accomplished by adding the on_init argument to middleware.
224
+ * Add Railtie.set_default_logger
225
+ * This method can be called post-fork to update the Rails default logger.
226
+ * Make use of Credentials#project_id
227
+ * Use Credentials#project_id
228
+ If a project_id is not provided, use the value on the Credentials object.
229
+ This value was added in googleauth 0.7.0.
230
+ * Loosen googleauth dependency
231
+ Allow for new releases up to 0.10.
232
+ The googleauth devs have committed to maintaining the current API
233
+ and will not make backwards compatible changes before 0.10.
234
+ * Direct logs for "/healthz" requests to the health check log.
235
+ * Update documentation.
236
+
237
+ ### 1.5.7 / 2018-11-15
238
+
239
+ * Add Google::Logging::V2::LogEntry#trace_sampled.
240
+ * Update low-level documentation.
241
+
242
+ ### 1.5.6 / 2018-10-03
243
+
244
+ * Use concurrent-ruby and ThreadLocalVar in Logger.
245
+ * Remove Monitor and synchronize blocks.
246
+ * Logger#thread_ids now only returns the current thread.
247
+
248
+ ### 1.5.5 / 2018-09-20
249
+
250
+ * Make Logger thread-safe.
251
+ * Update Logging generated files.
252
+ * Add Metric's MetricDescriptorMetadata.
253
+ * Update documentation.
254
+ * Change documentation URL to googleapis GitHub org.
255
+ * Fix circular require warning.
256
+
257
+ ### 1.5.4 / 2018-09-12
258
+
259
+ * Add missing documentation files to package.
260
+
261
+ ### 1.5.3 / 2018-09-10
262
+
263
+ * Update documentation.
264
+
265
+ ### 1.5.2 / 2018-08-21
266
+
267
+ * Update documentation.
268
+
269
+ ### 1.5.1 / 2018-07-05
270
+
271
+ * Fix bug in List classes by propagating arguments needed for pagination calls.
272
+ * Fix issue when disabling Stackdriver components with Rails.env.production.
273
+ * Reduce string memory usage.
274
+ * Add documentation for enabling gRPC logging.
275
+
276
+ ### 1.5.0 / 2018-02-27
277
+
278
+ * Use Google Cloud Shared Configuration.
279
+ * Deprecated Logging Sink attributes.
280
+
281
+ ### 1.4.0 / 2017-12-19
282
+
283
+ * Update google-gax dependency to 1.0.
284
+
285
+ ### 1.3.2 / 2017-11-20
286
+
287
+ * Refresh GAPIC layer (low-level API) based on updates to Protobuf types.
288
+
289
+ ### 1.3.1 / 2017-11-15
290
+
291
+ * Fix credentials verification bug in Railtie.
292
+
293
+ ### 1.3.0 / 2017-11-14
294
+
295
+ * Add `Google::Cloud::Logging::Credentials` class.
296
+ * Rename constructor arguments to `project_id` and `credentials`.
297
+ (The previous arguments `project` and `keyfile` are still supported.)
298
+ * Document `Google::Auth::Credentials` as `credentials` value.
299
+ * Add `partial_success` optional argument to `Project#write_entries`.
300
+ * Deprecate `HttpRequest#method`, use `HttpRequest#request_method` instead.
301
+ * Update generated low level GAPIC code.
302
+ * Updated `google-gax` (`grpc`, `google-protobuf`), `googleauth` dependencies.
303
+
304
+ ### 1.2.3 / 2017-09-27
305
+
306
+ * Updated protobuf classes.
307
+ * Updated README.
308
+
309
+ ### 1.2.2 / 2017-09-08
310
+
311
+ * Add `labels` configuration option to `Google::Cloud::Logging::Middleware` for Rails and other Rack-based framework integrations.
312
+
313
+ ### 1.2.1 / 2017-07-11
314
+
315
+ * stackdriver-core 1.2.0 release
316
+
317
+ ### 1.2.0 / 2017-07-11
318
+
319
+ * Update `labels` parameter in `Google::Cloud::Logging::Logger#initialize` to default to empty hash.
320
+ * Update `Google::Cloud::Logging::Logger` to support the following `ActiveSupport::Logger` methods: `:local_level`, `:local_level=`, `:silence`, `:silencer`, and `:unknown?`.
321
+ * Update GAPIC configuration to exclude `UNAVAILABLE` errors from automatic retry.
322
+ * Update gem spec homepage links.
323
+
324
+ ### 1.1.0 / 2017-05-25
325
+
326
+ * Introduce new `Google::Cloud::Logging.configure` instrumentation configuration interface.
327
+ * Google::Cloud::Logger now sends extra trace context information in log entries.
328
+
329
+ ### 1.0.1 / 2017-04-21
330
+
331
+ * Middleware constructor can be called without an explicit logger. This should make integration in non-Rails applications simpler.
332
+ * If Rails integration fails due to an auth error, the notice is now printed to STDOUT rather than STDERR, which should make it a bit less scary when displayed in Docker output.
333
+
334
+ ### 1.0.0 / 2017-03-31
335
+
336
+ * Release 1.0
337
+ * Added `#trace` and `#source_location` to Entry
338
+ * Added listing of logs for the project
339
+ * Updated documentation
340
+ * Automatic retry on `UNAVAILABLE` errors
341
+
342
+ ### 0.24.2 / 2017-03-03
343
+
344
+ * No public API changes.
345
+ * Update GRPC header value sent to the Logging API.
346
+
347
+ ### 0.24.1 / 2017-03-01
348
+
349
+ * No public API changes.
350
+ * Update GRPC header value sent to the Logging API.
351
+ * Low level API adds new Protobuf types and GAPIC methods.
352
+
353
+ ### 0.24.0 / 2017-02-21
354
+
355
+ * Fix GRPC retry bug
356
+ * The client_config data structure has replaced retry_codes/retry_codes_def with retry_codes
357
+ * Update GRPC/Protobuf/GAX dependencies
358
+
359
+ ### 0.23.2 / 2016-12-27
360
+
361
+ * `Google::Cloud::Logging::Logger` depended on standard logger but didn't require it. Fixed.
362
+
363
+ ### 0.23.1 / 2016-12-22
364
+
365
+ * Use the `stackdriver-core` gem to obtain Trace ID, for compatibility with the `google-cloud-trace` gem.
366
+ * `Google::Cloud::Logging::Logger` now understands all remaining standard Logger methods.
367
+ * Clean up `AsyncWriter` threads on VM exit, to prevent gRPC from crashing if it's still in the middle of a call.
368
+ * Support setting log name by path, and direct App Engine health checks to a separate log by default.
369
+ * Minor improvements to warning messages.
370
+
371
+ ### 0.23.0 / 2016-12-8
372
+
373
+ * Add `resources` method argument to `Project#entries`
374
+ * Deprecate `projects` method argument from `Project#entries`
375
+ * Add `start_at`, `end_at`, and `writer_identity` attributes to `Sink`
376
+ * Add `start_at`, `end_at`, and `unique_writer_identity` parameters to `Project#create_sink`
377
+ * Add `unique_writer_identity` parameter to `Sink#save`
378
+ * Many documentation improvements
379
+ * Add documentation for Low Level API
380
+
381
+ ### 0.21.2 / 2016-11-15
382
+
383
+ * Fix issue with uninitialized VERSION (remi)
384
+
385
+ ### 0.21.1 / 2016-11-4
386
+
387
+ * Upgraded Google::Cloud::Logging::Railtie to use AsyncWriter
388
+ * Added Rails configuration for custom monitored resource
389
+
390
+ ### 0.21.0 / 2016-10-20
391
+
392
+ * New service constructor Google::Cloud::Logging.new
393
+ * New constructor argument client_config
394
+ * Logger is now asynchronous
395
+ * AsyncWriter added
396
+ * Rails and Rack integration added
397
+
398
+ ### 0.20.1 / 2016-09-02
399
+
400
+ * Fix an issue with the GRPC client and forked sub-processes
401
+
402
+ ### 0.20.0 / 2016-08-26
403
+
404
+ This gem contains the Stackdriver Logging service implementation for the `google-cloud` gem. The `google-cloud` gem replaces the old `gcloud` gem. Legacy code can continue to use the `gcloud` gem.
405
+
406
+ * Namespace is now `Google::Cloud`
407
+ * The `google-cloud` gem is now an umbrella package for individual gems