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,
lib/google/cloud/logging/entry/source_location.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 Stackdriver Logging API.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new

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, SourceLocation

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
72
# File 'lib/google/cloud/logging/entry.rb', line 65

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

Instance Attribute Details

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

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



346
347
348
# File 'lib/google/cloud/logging/entry.rb', line 346

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)


328
329
330
# File 'lib/google/cloud/logging/entry.rb', line 328

def insert_id
  @insert_id
end

#labelsHash

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

Returns:

  • (Hash)


334
335
336
# File 'lib/google/cloud/logging/entry.rb', line 334

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.



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

def log_name
  @log_name
end

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

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



352
353
354
# File 'lib/google/cloud/logging/entry.rb', line 352

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)


340
341
342
# File 'lib/google/cloud/logging/entry.rb', line 340

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.



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

def resource
  @resource
end

#severitySymbol

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

Returns:

  • (Symbol)


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

def severity
  @severity
end

#source_locationGoogle::Cloud::Logging::Entry::SourceLocation (readonly)

Source code location information associated with the log entry, if any.



367
368
369
# File 'lib/google/cloud/logging/entry.rb', line 367

def source_location
  @source_location
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)


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

def timestamp
  @timestamp
end

#traceString

Resource name of the trace associated with the log entry, if any. If it contains a relative resource name, the name is assumed to be relative to //tracing.googleapis.com. Example: projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824 Optional.

Returns:

  • (String)


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

def trace
  @trace
end

Instance Method Details

#alert!Object

Sets the severity level to :ALERT.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new

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


294
295
296
# File 'lib/google/cloud/logging/entry.rb', line 294

def alert!
  self.severity = :ALERT
end

#alert?Boolean

Returns true if the severity level is :ALERT.

Returns:

  • (Boolean)


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

def alert?
  severity == :ALERT
end

#critical!Object

Sets the severity level to :CRITICAL.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new

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


270
271
272
# File 'lib/google/cloud/logging/entry.rb', line 270

def critical!
  self.severity = :CRITICAL
end

#critical?Boolean

Returns true if the severity level is :CRITICAL.

Returns:

  • (Boolean)


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

def critical?
  severity == :CRITICAL
end

#debug!Object

Sets the severity level to :DEBUG.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new

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


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

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/logging"

logging = Google::Cloud::Logging.new

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)


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

def default?
  severity == :DEFAULT
end

#emergency!Object

Sets the severity level to :EMERGENCY.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new

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


318
319
320
# File 'lib/google/cloud/logging/entry.rb', line 318

def emergency!
  self.severity = :EMERGENCY
end

#emergency?Boolean

Returns true if the severity level is :EMERGENCY.

Returns:

  • (Boolean)


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

def emergency?
  severity == :EMERGENCY
end

#error!Object

Sets the severity level to :ERROR.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new

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


246
247
248
# File 'lib/google/cloud/logging/entry.rb', line 246

def error!
  self.severity = :ERROR
end

#error?Boolean

Returns true if the severity level is :ERROR.

Returns:

  • (Boolean)


228
229
230
# File 'lib/google/cloud/logging/entry.rb', line 228

def error?
  severity == :ERROR
end

#info!Object

Sets the severity level to :INFO.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new

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


174
175
176
# File 'lib/google/cloud/logging/entry.rb', line 174

def info!
  self.severity = :INFO
end

#info?Boolean

Returns true if the severity level is :INFO.

Returns:

  • (Boolean)


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

def info?
  severity == :INFO
end

#notice!Object

Sets the severity level to :NOTICE.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new

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


198
199
200
# File 'lib/google/cloud/logging/entry.rb', line 198

def notice!
  self.severity = :NOTICE
end

#notice?Boolean

Returns true if the severity level is :NOTICE.

Returns:

  • (Boolean)


180
181
182
# File 'lib/google/cloud/logging/entry.rb', line 180

def notice?
  severity == :NOTICE
end

#warning!Object

Sets the severity level to :WARNING.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new

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


222
223
224
# File 'lib/google/cloud/logging/entry.rb', line 222

def warning!
  self.severity = :WARNING
end

#warning?Boolean

Returns true if the severity level is :WARNING.

Returns:

  • (Boolean)


204
205
206
# File 'lib/google/cloud/logging/entry.rb', line 204

def warning?
  severity == :WARNING
end