google-cloud-logging 2.0.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.
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