Immutable structured metadata information for logging.
See Log.context, Log.context=, Log::Context#clear, Log::Context#set, Log.with_context, and Log::Emitter.
NOTE If you'd like to format the context as JSON, remember to require "log/json".
Returns a Metadata with the information of the argument.
Returns a Metadata with the information of the argument.
Returns an empty Log::Metadata.
Returns false (other can only be a Value here).
Returns a shallow copy of this object.
Must yield this collection's elements to the block.
Returns true if self does not contain any element.
Returns a Log::Metadata with all the entries of self and other.
Returns Log::Metadata as JSON value.
Appends a short String representation of this object which includes its class name and its object address.
Enumerable({Symbol, Log::Metadata::Value})
Enumerable({Symbol, Log::Metadata::Value})
Reference
Reference
Reference
Object
Object
Object
Returns a Metadata with the information of the argument. Used to handle Log::Context#set and Log#Emitter.emit overloads.
Returns a Metadata with the information of the argument. Used to handle Log::Context#set and Log#Emitter.emit overloads.
Returns an empty Log::Metadata.
NOTE Since Log::Metadata is immutable, it's safe to share this instance.
Returns a shallow copy of this object.
This allocates a new object and copies the contents of self into it.
Returns true if self does not contain any element.
([] of Int32).empty? # => true ([1]).empty? # => false [nil, false].empty? # => false
#present? returns the inverse.Returns a Log::Metadata with all the entries of self and other. If a key is defined in both, the values in other are used.
Returns Log::Metadata as JSON value.
NOTE require "log/json" is required to opt-in to this feature.
log_entry.context.to_json # => "{\"user_id\":1}" Appends a short String representation of this object which includes its class name and its object address.
class Person
def initialize(@name : String, @age : Int32)
end
end
Person.new("John", 32).to_s # => #<Person:0x10a199f20>
© 2012–2026 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.19.0/Log/Metadata.html