Class: LogStruct::Log::Error
- Inherits:
-
T::Struct
- Object
- T::Struct
- LogStruct::Log::Error
- Extended by:
- T::Sig
- Includes:
- Interfaces::AdditionalDataField, Interfaces::CommonFields, Interfaces::RequestFields, Shared::AddRequestFields, Shared::MergeAdditionalDataFields, Shared::SerializeCommon
- Defined in:
- lib/log_struct/log/error.rb
Constant Summary
Constants included from Shared::MergeAdditionalDataFields
Shared::MergeAdditionalDataFields::RESERVED_KEYS
Instance Attribute Summary collapse
-
#additional_data ⇒ Hash{String, Symbol => T.untyped}?
readonly
Returns the value of prop
additional_data. -
#backtrace ⇒ Array<String>?
readonly
Returns the value of prop
backtrace. -
#cause_class ⇒ String?
readonly
Returns the value of prop
cause_class. -
#cause_message ⇒ String?
readonly
Returns the value of prop
cause_message. -
#error_class ⇒ T.class_of(Exception)
readonly
Event-specific fields.
-
#error_message ⇒ String?
readonly
Returns the value of prop
error_message. -
#event ⇒ Event
readonly
Returns the value of prop
event. -
#http_method ⇒ String?
readonly
Returns the value of prop
http_method. -
#level ⇒ Level
readonly
Returns the value of prop
level. -
#message ⇒ String
readonly
Returns the value of prop
message. -
#path ⇒ String?
readonly
Returns the value of prop
path. -
#referer ⇒ String?
readonly
Returns the value of prop
referer. -
#source ⇒ Source
readonly
Shared/common fields.
-
#source_ip ⇒ String?
readonly
Returns the value of prop
source_ip. -
#status ⇒ Integer?
readonly
Returns the value of prop
status. -
#timestamp ⇒ Time
readonly
Returns the value of prop
timestamp. -
#user_agent ⇒ String?
readonly
Returns the value of prop
user_agent.
Instance Method Summary collapse
- #initialize(source:, event: Event::Error, timestamp:, level: Level::Info, path: nil, http_method: nil, source_ip: nil, user_agent: nil, referer: nil, error_class:, message:, error_message: nil, backtrace: nil, status: nil, cause_class: nil, cause_message: nil, additional_data: nil) ⇒ void constructor
- #to_h ⇒ Hash{LogStruct::LogField => T.untyped}
Methods included from Shared::AddRequestFields
Methods included from Shared::SerializeCommon
#as_json, #serialize, #serialize_common
Methods included from Interfaces::CommonFieldBase
Methods included from Shared::MergeAdditionalDataFields
Constructor Details
#initialize(source:, event: Event::Error, timestamp:, level: Level::Info, path: nil, http_method: nil, source_ip: nil, user_agent: nil, referer: nil, error_class:, message:, error_message: nil, backtrace: nil, status: nil, cause_class: nil, cause_message: nil, additional_data: nil) ⇒ void
|
|
# File '' const :source, Source const :event, Event, default: Event::Error const :timestamp, Time, factory: -> { Time.now } const :level, Level, default: Level::Info const :path, T.nilable(String), default: nil const :http_method, T.nilable(String), default: nil const :source_ip, T.nilable(String), default: nil const :user_agent, T.nilable(String), default: nil const :referer, T.nilable(String), default: nil const :error_class, T.class_of(Exception) const :message, String const :error_message, T.nilable(String), default: nil const :backtrace, T.nilable(T::Array[String]), default: nil const :status, T.nilable(Integer), default: nil const :cause_class, T.nilable(String), default: nil const :cause_message, T.nilable(String), default: nil const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil |
Instance Attribute Details
#additional_data ⇒ Hash{String, Symbol => T.untyped}? (readonly)
Returns the value of prop additional_data.
|
|
# File '' const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil |
#backtrace ⇒ Array<String>? (readonly)
Returns the value of prop backtrace.
|
|
# File '' const :backtrace, T.nilable(T::Array[String]), default: nil |
#cause_class ⇒ String? (readonly)
Returns the value of prop cause_class.
|
|
# File '' const :cause_class, T.nilable(String), default: nil |
#cause_message ⇒ String? (readonly)
Returns the value of prop cause_message.
|
|
# File '' const :cause_message, T.nilable(String), default: nil |
#error_class ⇒ T.class_of(Exception) (readonly)
Event-specific fields
|
|
# File '' const :error_class, T.class_of(Exception) |
#error_message ⇒ String? (readonly)
Returns the value of prop error_message.
|
|
# File '' const :error_message, T.nilable(String), default: nil |
#event ⇒ Event (readonly)
Returns the value of prop event.
|
|
# File '' const :event, Event, default: Event::Error |
#http_method ⇒ String? (readonly)
Returns the value of prop http_method.
|
|
# File '' const :http_method, T.nilable(String), default: nil |
#level ⇒ Level (readonly)
Returns the value of prop level.
|
|
# File '' const :level, Level, default: Level::Info |
#message ⇒ String (readonly)
Returns the value of prop message.
|
|
# File '' const :message, String |
#path ⇒ String? (readonly)
Returns the value of prop path.
|
|
# File '' const :path, T.nilable(String), default: nil |
#referer ⇒ String? (readonly)
Returns the value of prop referer.
|
|
# File '' const :referer, T.nilable(String), default: nil |
#source_ip ⇒ String? (readonly)
Returns the value of prop source_ip.
|
|
# File '' const :source_ip, T.nilable(String), default: nil |
#status ⇒ Integer? (readonly)
Returns the value of prop status.
|
|
# File '' const :status, T.nilable(Integer), default: nil |
#timestamp ⇒ Time (readonly)
Returns the value of prop timestamp.
|
|
# File '' const :timestamp, Time, factory: -> { Time.now } |
#user_agent ⇒ String? (readonly)
Returns the value of prop user_agent.
|
|
# File '' const :user_agent, T.nilable(String), default: nil |
Instance Method Details
#to_h ⇒ Hash{LogStruct::LogField => T.untyped}
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/log_struct/log/error.rb', line 60 def to_h h = T.let({}, T::Hash[LogStruct::LogField, T.untyped]) h[LogField::Path] = path unless path.nil? h[LogField::HttpMethod] = http_method unless http_method.nil? h[LogField::SourceIp] = source_ip unless source_ip.nil? h[LogField::UserAgent] = user_agent unless user_agent.nil? h[LogField::Referer] = referer unless referer.nil? h[LogField::ErrorClass] = error_class h[LogField::Message] = h[LogField::ErrorMessage] = unless .nil? h[LogField::Backtrace] = backtrace unless backtrace.nil? h[LogField::Status] = status unless status.nil? h[LogField::CauseClass] = cause_class unless cause_class.nil? h[LogField::CauseMessage] = unless .nil? h end |