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

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.



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

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.



344
345
346
# File 'lib/google/cloud/logging/entry.rb', line 344

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)


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

def insert_id
  @insert_id
end

#labelsHash

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

Returns:

  • (Hash)


332
333
334
# File 'lib/google/cloud/logging/entry.rb', line 332

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.



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

def log_name
  @log_name
end

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

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



350
351
352
# File 'lib/google/cloud/logging/entry.rb', line 350

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)


338
339
340
# File 'lib/google/cloud/logging/entry.rb', line 338

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.



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

def resource
  @resource
end

#severitySymbol

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

Returns:

  • (Symbol)


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

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)


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

def timestamp
  @timestamp
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


292
293
294
# File 'lib/google/cloud/logging/entry.rb', line 292

def alert!
  self.severity = :ALERT
end

#alert?Boolean

Returns true if the severity level is :ALERT.

Returns:

  • (Boolean)


274
275
276
# File 'lib/google/cloud/logging/entry.rb', line 274

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


268
269
270
# File 'lib/google/cloud/logging/entry.rb', line 268

def critical!
  self.severity = :CRITICAL
end

#critical?Boolean

Returns true if the severity level is :CRITICAL.

Returns:

  • (Boolean)


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

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


148
149
150
# File 'lib/google/cloud/logging/entry.rb', line 148

def debug!
  self.severity = :DEBUG
end

#debug?Boolean

Returns true if the severity level is :DEBUG.

Returns:

  • (Boolean)


130
131
132
# File 'lib/google/cloud/logging/entry.rb', line 130

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


124
125
126
# File 'lib/google/cloud/logging/entry.rb', line 124

def default!
  self.severity = :DEFAULT
end

#default?Boolean

Returns true if the severity level is :DEFAULT.

Returns:

  • (Boolean)


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

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


316
317
318
# File 'lib/google/cloud/logging/entry.rb', line 316

def emergency!
  self.severity = :EMERGENCY
end

#emergency?Boolean

Returns true if the severity level is :EMERGENCY.

Returns:

  • (Boolean)


298
299
300
# File 'lib/google/cloud/logging/entry.rb', line 298

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


244
245
246
# File 'lib/google/cloud/logging/entry.rb', line 244

def error!
  self.severity = :ERROR
end

#error?Boolean

Returns true if the severity level is :ERROR.

Returns:

  • (Boolean)


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

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


172
173
174
# File 'lib/google/cloud/logging/entry.rb', line 172

def info!
  self.severity = :INFO
end

#info?Boolean

Returns true if the severity level is :INFO.

Returns:

  • (Boolean)


154
155
156
# File 'lib/google/cloud/logging/entry.rb', line 154

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


196
197
198
# File 'lib/google/cloud/logging/entry.rb', line 196

def notice!
  self.severity = :NOTICE
end

#notice?Boolean

Returns true if the severity level is :NOTICE.

Returns:

  • (Boolean)


178
179
180
# File 'lib/google/cloud/logging/entry.rb', line 178

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


220
221
222
# File 'lib/google/cloud/logging/entry.rb', line 220

def warning!
  self.severity = :WARNING
end

#warning?Boolean

Returns true if the severity level is :WARNING.

Returns:

  • (Boolean)


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

def warning?
  severity == :WARNING
end