Class: Google::Cloud::Logging::Entry

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/logging/entry.rb,
lib/google/cloud/logging/entry/list.rb,
lib/google/cloud/logging/entry/operation.rb,
lib/google/cloud/logging/entry/http_request.rb

Overview

Entry

An individual entry in a log.

Each log entry is composed of metadata and a payload. The metadata includes standard information used by Stackdriver Logging, such as when the entry was created and where it came from. The payload is the event record. Traditionally this is a message string, but in Stackdriver Logging it can also be a JSON or protocol buffer object. A single log can have entries with different payload types.

A log is a named collection of entries. Logs can be produced by Google Cloud Platform services, by third-party services, or by your applications. For example, the log compute.googleapis.com/activity_log is produced by Google Compute Engine. Logs are simply referenced by name in google-cloud. There is no Log type in google-cloud or Log resource in the Cloud Logging API.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
logging = gcloud.logging

entry = logging.entry payload: "Job started.", log_name: "my_app_log"
entry.resource.type = "gae_app"
entry.resource.labels[:module_id] = "1"
entry.resource.labels[:version_id] = "20150925t173233"

logging.write_entries entry

See Also:

Defined Under Namespace

Classes: HttpRequest, List, Operation

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeEntry

Create a new Entry instance. The #resource attribute is pre-populated with a new Resource instance. See also Project#entry.



65
66
67
68
69
70
71
# File 'lib/google/cloud/logging/entry.rb', line 65

def initialize
  @labels = {}
  @resource = Resource.new
  @http_request = HttpRequest.new
  @operation = Operation.new
  @severity = :DEFAULT
end

Instance Attribute Details

#http_requestGoogle::Cloud::Logging::Entry::HttpRequest (readonly)

Information about the HTTP request associated with this log entry, if applicable.



354
355
356
# File 'lib/google/cloud/logging/entry.rb', line 354

def http_request
  @http_request
end

#insert_idString

A unique ID for the log entry. If you provide this field, the logging service considers other log entries in the same log with the same ID as duplicates which can be removed. If omitted, Stackdriver Logging will generate a unique ID for this log entry.

Returns:

  • (String)


336
337
338
# File 'lib/google/cloud/logging/entry.rb', line 336

def insert_id
  @insert_id
end

#labelsHash

A set of user-defined data that provides additional information about the log entry.

Returns:

  • (Hash)


342
343
344
# File 'lib/google/cloud/logging/entry.rb', line 342

def labels
  @labels
end

#log_nameObject

The resource name of the log to which this log entry belongs. The format of the name is projects/<project-id>/logs/<log-id>. e.g. projects/my-projectid/logs/my_app_log and projects/1234567890/logs/library.googleapis.com%2Fbook_log

The log ID part of resource name must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters: [A-Za-z0-9]; and punctuation characters: forward-slash (/), underscore (_), hyphen (-), and period (.). Forward-slash (/) characters in the log ID must be URL-encoded.



84
85
86
# File 'lib/google/cloud/logging/entry.rb', line 84

def log_name
  @log_name
end

#operationGoogle::Cloud::Logging::Entry::Operation (readonly)

Information about an operation associated with the log entry, if applicable.



360
361
362
# File 'lib/google/cloud/logging/entry.rb', line 360

def operation
  @operation
end

#payloadString, Hash

The log entry payload, represented as either a string, a hash (JSON), or a hash (protocol buffer).

Returns:

  • (String, Hash)


348
349
350
# File 'lib/google/cloud/logging/entry.rb', line 348

def payload
  @payload
end

#resourceGoogle::Cloud::Logging::Resource

The monitored resource associated with this log entry. Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error.



92
93
94
# File 'lib/google/cloud/logging/entry.rb', line 92

def resource
  @resource
end

#severitySymbol

The severity level of the log entry. The default value is :DEFAULT.

Returns:

  • (Symbol)


103
104
105
# File 'lib/google/cloud/logging/entry.rb', line 103

def severity
  @severity
end

#timestampTime

The time the event described by the log entry occurred. If omitted, Stackdriver Logging will use the time the log entry is written.

Returns:

  • (Time)


98
99
100
# File 'lib/google/cloud/logging/entry.rb', line 98

def timestamp
  @timestamp
end

Instance Method Details

#alert!Object

Sets the severity level to :ALERT.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
logging = gcloud.logging

entry = logging.entry
entry.severity #=> :DEFAULT
entry.alert!
entry.alert? #=> true
entry.severity #=> :ALERT


301
302
303
# File 'lib/google/cloud/logging/entry.rb', line 301

def alert!
  self.severity = :ALERT
end

#alert?Boolean

Returns true if the severity level is :ALERT.

Returns:

  • (Boolean)


282
283
284
# File 'lib/google/cloud/logging/entry.rb', line 282

def alert?
  severity == :ALERT
end

#critical!Object

Sets the severity level to :CRITICAL.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
logging = gcloud.logging

entry = logging.entry
entry.severity #=> :DEFAULT
entry.critical!
entry.critical? #=> true
entry.severity #=> :CRITICAL


276
277
278
# File 'lib/google/cloud/logging/entry.rb', line 276

def critical!
  self.severity = :CRITICAL
end

#critical?Boolean

Returns true if the severity level is :CRITICAL.

Returns:

  • (Boolean)


257
258
259
# File 'lib/google/cloud/logging/entry.rb', line 257

def critical?
  severity == :CRITICAL
end

#debug!Object

Sets the severity level to :DEBUG.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
logging = gcloud.logging

entry = logging.entry
entry.severity #=> :DEFAULT
entry.debug!
entry.debug? #=> true
entry.severity #=> :DEBUG


151
152
153
# File 'lib/google/cloud/logging/entry.rb', line 151

def debug!
  self.severity = :DEBUG
end

#debug?Boolean

Returns true if the severity level is :DEBUG.

Returns:

  • (Boolean)


132
133
134
# File 'lib/google/cloud/logging/entry.rb', line 132

def debug?
  severity == :DEBUG
end

#default!Object

Sets the severity level to :DEFAULT.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
logging = gcloud.logging

entry = logging.entry
entry.severity = :DEBUG
entry.default!
entry.default? #=> true
entry.severity #=> :DEFAULT


126
127
128
# File 'lib/google/cloud/logging/entry.rb', line 126

def default!
  self.severity = :DEFAULT
end

#default?Boolean

Returns true if the severity level is :DEFAULT.

Returns:

  • (Boolean)


107
108
109
# File 'lib/google/cloud/logging/entry.rb', line 107

def default?
  severity == :DEFAULT
end

#emergency!Object

Sets the severity level to :EMERGENCY.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
logging = gcloud.logging

entry = logging.entry
entry.severity #=> :DEFAULT
entry.emergency!
entry.emergency? #=> true
entry.severity #=> :EMERGENCY


326
327
328
# File 'lib/google/cloud/logging/entry.rb', line 326

def emergency!
  self.severity = :EMERGENCY
end

#emergency?Boolean

Returns true if the severity level is :EMERGENCY.

Returns:

  • (Boolean)


307
308
309
# File 'lib/google/cloud/logging/entry.rb', line 307

def emergency?
  severity == :EMERGENCY
end

#error!Object

Sets the severity level to :ERROR.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
logging = gcloud.logging

entry = logging.entry
entry.severity #=> :DEFAULT
entry.error!
entry.error? #=> true
entry.severity #=> :ERROR


251
252
253
# File 'lib/google/cloud/logging/entry.rb', line 251

def error!
  self.severity = :ERROR
end

#error?Boolean

Returns true if the severity level is :ERROR.

Returns:

  • (Boolean)


232
233
234
# File 'lib/google/cloud/logging/entry.rb', line 232

def error?
  severity == :ERROR
end

#info!Object

Sets the severity level to :INFO.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
logging = gcloud.logging

entry = logging.entry
entry.severity #=> :DEFAULT
entry.info!
entry.info? #=> true
entry.severity #=> :INFO


176
177
178
# File 'lib/google/cloud/logging/entry.rb', line 176

def info!
  self.severity = :INFO
end

#info?Boolean

Returns true if the severity level is :INFO.

Returns:

  • (Boolean)


157
158
159
# File 'lib/google/cloud/logging/entry.rb', line 157

def info?
  severity == :INFO
end

#notice!Object

Sets the severity level to :NOTICE.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
logging = gcloud.logging

entry = logging.entry
entry.severity #=> :DEFAULT
entry.notice!
entry.notice? #=> true
entry.severity #=> :NOTICE


201
202
203
# File 'lib/google/cloud/logging/entry.rb', line 201

def notice!
  self.severity = :NOTICE
end

#notice?Boolean

Returns true if the severity level is :NOTICE.

Returns:

  • (Boolean)


182
183
184
# File 'lib/google/cloud/logging/entry.rb', line 182

def notice?
  severity == :NOTICE
end

#warning!Object

Sets the severity level to :WARNING.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
logging = gcloud.logging

entry = logging.entry
entry.severity #=> :DEFAULT
entry.warning!
entry.warning? #=> true
entry.severity #=> :WARNING


226
227
228
# File 'lib/google/cloud/logging/entry.rb', line 226

def warning!
  self.severity = :WARNING
end

#warning?Boolean

Returns true if the severity level is :WARNING.

Returns:

  • (Boolean)


207
208
209
# File 'lib/google/cloud/logging/entry.rb', line 207

def warning?
  severity == :WARNING
end