Reference documentation and code samples for the Cloud Logging API module Google::Cloud::Logging.
Stackdriver Logging
The Stackdriver Logging service collects and stores logs from applications and services on the Google Cloud Platform, giving you fine-grained, programmatic control over your projects' logs. You can use the Stackdriver Logging API to:
- Read and filter log entries
- Export your log entries to Cloud Storage, BigQuery, or Cloud Pub/Sub
- Create logs-based metrics for use in Cloud Monitoring
- Write log entries
For general information about Stackdriver Logging, read Stackdriver Logging Documentation.
Methods
.configure
def self.configure() -> Google::Cloud::Config
Configure the Google::Cloud::Logging::Middleware when used in a Rack-based application.
The following Stackdriver Logging configuration parameters are supported:
project_id
- (String) Project identifier for the Stackdriver Logging service you are connecting to. (The parameterproject
is considered deprecated, but may also be used.)credentials
- (String, Hash, Google::Auth::Credentials) The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See Credentials) (The parameterkeyfile
is considered deprecated, but may also be used.)scope
- (String, Arrayquota_project
- (String) The project ID for a project that can be used by client libraries for quota and billing purposes.timeout
- (Integer) Default timeout to use in requests.endpoint
- (String) Override of the endpoint host name, ornil
to use the default endpoint.log_name
- (String) Name of the application log file. Default:"ruby_app_log"
log_name_map
- (Hash) Map specific request routes to other log. Default:{ "/ah/health" => "ruby_health_check_log" }
monitored_resource.type
(String) Resource type name. See full list. Self discovered on GCP.monitored_resource.labels
-(Hash) Resource labels. See full list. Self discovered on GCP.labels
- (Hash) User defined labels. AHash
of label names to string label values or callables/Proc
which are functions of the Rack environment.set_default_logger_on_rails_init
- (Boolean) Whether Google Cloud Logging Logger should be allowed to start background threads and open gRPC connections during Rails initialization. This should only be used with a non-forking web server. Web servers such as Puma and Unicorn should not set this, and instead set the Rails logger to a Google Cloud Logging Logger object on the worker process by calling <a href="Google-Cloud-Logging-Railtie#Google__Cloud__Logging__Railtie_set_default_logger_class" title="Google::Cloud::Logging::Railtie.set_default_logger (method)">Railtie.set_default_logger at the appropriate time, such as a post-fork hook.on_error
- (Proc) A Proc to be run when an error is encountered on a background thread. The Proc must take the error object as the single argument. (See AsyncWriter#on_error.)
See the Configuration Guide for full configuration parameters.
- (Google::Cloud.configure.logging)
- (Google::Cloud::Config) — The configuration object the Google::Cloud::Logging module uses.
.new
def self.new(project_id: nil, credentials: nil, scope: nil, timeout: nil, endpoint: nil, project: nil, keyfile: nil) -> Google::Cloud::Logging::Project
Creates a new object for connecting to the Stackdriver Logging service. Each call creates a new connection.
For more information on connecting to Google Cloud see the Authentication Guide.
- project_id (String) (defaults to: nil) — Project identifier for the Stackdriver Logging service you are connecting to. If not present, the default project for the credentials is used.
- credentials (String, Hash, Google::Auth::Credentials) (defaults to: nil) — The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See Credentials)
-
scope (String, Array<String>) (defaults to: nil) —
The OAuth 2.0 scopes controlling the set of resources and operations that the connection can access. See Using OAuth 2.0 to Access Google APIs.
The default scope is:
https://www.googleapis.com/auth/logging.admin
- timeout (Integer) (defaults to: nil) — Default timeout to use in requests. Optional.
- endpoint (String) (defaults to: nil) — Override of the endpoint host name. Optional. If the param is nil, uses the default endpoint.
-
project (String) (defaults to: nil) — Alias for the
project_id
argument. Deprecated. -
keyfile (String) (defaults to: nil) — Alias for the
credentials
argument. Deprecated.
- (ArgumentError)
require "google/cloud/logging" logging = Google::Cloud::Logging.new entries = logging.entries entries.each do |e| puts "[#{e.timestamp}] #{e.log_name} #{e.payload.inspect}" end
Constants
DEFAULT_LOG_NAME
value: Middleware::DEFAULT_LOG_NAME
Default log name to be used for Stackdriver Logging
VERSION
value: "2.4.0".freeze