Documentation ¶
Overview ¶
Package logging provides a framework for working with typed, structured log systems. Specifically, we target an ELK stack that enforces a whole-Elasticsearch schema for log entries. The target system drops messages if they do not conform to the configured schema.
The design of this package is premised on using the Go type system to tighten the iteration cycle around working with our ELK stack. Specifically, we define explicit log message structs, and use constructor functions in order to control exactly the fields that have to be collected. Ideally, on-the-spot log messages will be guided by their constructors to provide the correct fields, so that we're shielded from the dead-letter queue at the time of logging.
As a compliment to this process, we also allow for log messages to report metrics, and to output console messages for a human operator.
By implementing any combination of the interfaces LogMessage, ConsoleMessage and MetricsMessage single log message may emit: structured logs to the ELK stack (LogMessage) textual logs to stderr (ConsoleMessage), or metrics messages to graphite carbon endpoints (MetricsMessage) Each message must implement at least one of those interfaces.
The philosphy here is that one kind of reporting output will often compliment another, and since these outputs are predicated on the implementation of interfaces (c.f. LogMessage, MetricsMessage and ConsoleMessage), it's easy to add new reporting to a particular point of instrumentation in the code.
If an intended message doesn't actually implement any of the required interfaces (e.g. by missing out implementing DefaultLevel) this package will create a new "silent message" log entry detailing as much as possible about the non-message struct. The same facility is used if the message causes a panic while reporting - the theory is that logging should never panic the app (even though it's very easy for it to do so.) It is recommended to create alerts from you ELK stack when "silent message log entries are created."
Entry points to understanding this package are the Deliver function, and the LogMessage, MetricsMessage and ConsoleMessage interfaces.
An example log message might look like this:
type exampleMessage struct { CallerInfo Level myField string } func ReportExample(field string, sink LogSink) { msg := newExampleMessage(field) msg.CallerInfo.ExcludeMe() // this filters out ReportExample from the logged call stack Deliver(msg, sink) // this is the important part } func newExampleMessage(field string) *exampleMessage { return &exampleMessage{ CallerInfo: GetCallerInfo(NotHere()), // this formula captures the call point, while excluding the constructor Level: DebugLevel, myField: field, } } // func (msg *exampleMessage) DefaultLevel() Level { ... } // we could define this method, or let the embedded Level handle it. func (msg *exampleMessage) Message() { return msg.myField } func (msg *exampleMessage) EachField(f FieldReportFn) { f("@loglov3-otl", "example-message") // a requirement of our local ELK msg.CallerInfo.EachField(f) // so that the CallerInfo can register its fields f("my-field", msg.myField) }
Final note: this package is in a state of transition. When Sous was starting, we bowed to indecision and simply adopted the stdlib "log" package, which turned out to be insufficient to our needs with respect to the ELK stack, and somewhat complicated to deal with in terms of leveled output. We're in the process of removing our dependencies on the "old ways," but in the meantime the interface is somewhat confusing, since there's two conflicted underlying approaches.
Index ¶
- Variables
- func AssertConfiguration(ls *LogSet, graphiteURL string) error
- func AssertMessageFieldlist(t *testing.T, msgs []EachFielder, variableFields []string, ...)
- func AssertMessageFields(t *testing.T, msg EachFielder, variableFields []string, ...)
- func AssertReport(t *testing.T, log func(LogSink)) (LogSinkController, []EachFielder)
- func AssertReportFields(t *testing.T, log func(LogSink), variableFields []string, ...)
- func CastFN(fns []FieldName) []string
- func ConsoleAndMessage(m interface{}) consoleMessage
- func ConsoleError(msg ConsoleMessage) string
- func Debug(l LogSink, fs ...interface{})
- func DebugConsole(l LogSink, msg string, fs ...interface{})
- func DebugMsg(l LogSink, msg string, fs ...interface{})
- func Deliver(logger LogSink, messages ...interface{})
- func Info(l LogSink, fs ...interface{})
- func InfoConsole(l LogSink, msg string, fs ...interface{})
- func InfoMsg(l LogSink, msg string, fs ...interface{})
- func NewGenericMsg(lvl Level, msg string, fields map[string]interface{}, console bool) *genericMsg
- func NewLogSinkSpy(def ...bool) (LogSink, LogSinkController)
- func ReportConsoleMsg(logger LogSink, lvl Level, msg string)
- func ReportError(sink LogSink, err error, console ...bool)
- func ReportErrorConsole(sink LogSink, err error)
- func ReportMsg(logger LogSink, lvl Level, msg string, console ...bool)
- func RetrieveMetaData(f func()) (name string, uid string)
- func Warn(l LogSink, fs ...interface{})
- func WarnConsole(l LogSink, msg string, fs ...interface{})
- func WarnMsg(l LogSink, msg string, fs ...interface{})
- type CPUResourceField
- type CallerInfo
- type Config
- type ConsoleMessage
- type Counter
- type EachFielder
- type Excluder
- type FieldName
- type FieldReportFn
- type Level
- type LevelRecommender
- type LogMessage
- type LogSet
- func (ls LogSet) AtExit()
- func (ls *LogSet) BeChatty()
- func (ls *LogSet) BeHelpful()
- func (ls *LogSet) BeQuiet()
- func (ls *LogSet) BeSilent()
- func (ls *LogSet) BeTerse()
- func (ls LogSet) Child(name string, context ...EachFielder) LogSink
- func (ls LogSet) ClearCounter(name string)
- func (ls *LogSet) Configure(cfg Config) error
- func (ls LogSet) Console() WriteDoner
- func (ls LogSet) DecCounter(name string, amount int64)
- func (ls LogSet) Done()
- func (ls LogSet) ExpHandler() http.Handler
- func (ls LogSet) ExtraConsole() WriteDoner
- func (ls LogSet) Fields(items []EachFielder)
- func (ls LogSet) ForceDefer() bool
- func (ls LogSet) GetCounter(name string) Counter
- func (ls LogSet) GetLevel() Level
- func (ls LogSet) GetTimer(name string) Timer
- func (ls LogSet) GetUpdater(name string) Updater
- func (ls LogSet) HasMetrics() bool
- func (ls LogSet) IncCounter(name string, amount int64)
- func (ls LogSet) Metrics() MetricsSink
- func (ls LogSet) UpdateSample(name string, value int64)
- func (ls LogSet) UpdateTimer(name string, dur time.Duration)
- func (ls LogSet) UpdateTimerSince(name string, time time.Time)
- type LogSink
- type LogSinkController
- type MemResourceField
- type MessageField
- type MessageInterval
- type MetricsMessage
- type MetricsSink
- type OTLName
- type OldLogMessage
- type Submessage
- type Timer
- type ToConsole
- type Updater
- type WriteDoner
Constants ¶
This section is empty.
Variables ¶
var HTTPVariableFields = []string{
"resource-family",
"incoming",
"method",
"status",
"duration",
"body-size",
"response-size",
"url",
"url-hostname",
"url-pathname",
"url-querystring",
}
HTTPVariableFields are the fields expected to be in HTTP Message
var IntervalVariableFields = []string{"started-at", "finished-at", "duration"}
IntervalVariableFields are the fields generated by Intervals when they're closed. Use this var with AssertMessageFields when your message includes an Interval like
AssertMessageFields(t, msg, IntervalVariableFields, map[string]interface{}{...})
(for incomplete intervals, just add "started-at" to the variableFields.)
var StandardVariableFields = []string{
"@timestamp",
"call-stack-trace",
"call-stack-file",
"call-stack-line-number",
"thread-name",
}
StandardVariableFields are the fields that are expected to be in (almost) every Sous log message, but that will be difficult to predict. Use this var with AssertMessageFields as a starter for the variableFields argument.
For example:
AssertMessageFields(t, msg, StandardVariableFields, map[string]interface{}{...})
Functions ¶
func AssertConfiguration ¶
AssertConfiguration is a testing method - it allows us to test that certain configuration values are as expected.
func AssertMessageFieldlist ¶
func AssertMessageFieldlist(t *testing.T, msgs []EachFielder, variableFields []string, fixedFields map[string]interface{})
AssertMessageFieldlist is a testing function. It works like the legacy AssertMessageFields, but accepts a list of EachFielder, more in line with the new logging interface.
func AssertMessageFields ¶
func AssertMessageFields(t *testing.T, msg EachFielder, variableFields []string, fixedFields map[string]interface{})
AssertMessageFields is a testing function - it receives an eachFielder and confirms that it:
- generates no duplicate fields
- generates fields with the names in variableFields, and ignores their values
- generates fields with the names and values in fixedFields
- generates an @loglov3-otl field
Additionally, if the test passes, a rough proposal of an "OTL" schema definition will be written to a tempfile.
See also the StandardVariableFields and IntervalVariableFields convenience variables.
func AssertReport ¶
func AssertReport(t *testing.T, log func(LogSink)) (LogSinkController, []EachFielder)
AssertReport calls its 'log' argument with a log sink, extracts a LogMessage and returns the controller for the logsink and the message passed. In general, prefer AssertReportFields, but if you need to further test e.g. metrics delivery, calling AssertReport and then AssertMessageFields can be a good way to do that.
func AssertReportFields ¶
func AssertReportFields(t *testing.T, log func(LogSink), variableFields []string, fixedFields map[string]interface{})
AssertReportFields calls it's log argument, and then asserts that a LogMessage reported in that function conforms to the two fields arguments passed. Use it to test "reportXXX" functions, since it tests for panics in the reporting function as well.
func ConsoleAndMessage ¶
func ConsoleAndMessage(m interface{}) consoleMessage
ConsoleAndMessage wraps a string such that it will be both a console output and the primary message of a log entry.
func ConsoleError ¶
func ConsoleError(msg ConsoleMessage) string
ConsoleError receives a ConsoleMessage and returns the string as it would be printed to the console. This can be used to implement the error interface on ConsoleMessages
func DebugConsole ¶
DebugConsole sends a generic-otl Debug log message, and echoes it to the console, wrapping a string message.
func Deliver ¶
func Deliver(logger LogSink, messages ...interface{})
Deliver is the core of the logging messages design.
The message argument may implement any of LogMessage, MetricsMessage or ConsoleMessage, and the data contained in the message will be dispatched appropriately.
Furthermore, messages that don't implement any of those interfaces, or which panic when operated upon, themselves generate a well-tested message so that they can be caught and fixed.
The upshot is that messages can be Delivered on the spot and later determine what facilities are appropriate.
func InfoConsole ¶
InfoConsole sends a generic-otl Info log message, and echoes it to the console, wrapping a string message.
func NewGenericMsg ¶
NewGenericMsg creates an event out of a map of fields. There are no metrics associated with the event - for that you need to define a specialized message type.
func NewLogSinkSpy ¶
func NewLogSinkSpy(def ...bool) (LogSink, LogSinkController)
NewLogSinkSpy returns a spy/controller pair for testing purposes. (see LogSet for a general purpose implementation of LogSink)
func ReportConsoleMsg ¶
ReportConsoleMsg will set Console flag, so message is also outputed to console
func ReportError ¶
ReportError is used to report an error via structured logging. If you need more information than "an error occurred", consider using a different structured message.
func ReportErrorConsole ¶
ReportErrorConsole is used to report an error via structured logging. If you need more information than "an error occurred", consider using a different structured message.
func ReportMsg ¶
ReportMsg is an appropriate for most off-the-cuff logging. It probably calls to be replaced with something more specialized, though.
func RetrieveMetaData ¶
RetrieveMetaData used to help retrieve more info for logging about a func
func WarnConsole ¶
WarnConsole sends a generic-otl Warn log message, and echoes it to the console, wrapping a string message.
Types ¶
type CPUResourceField ¶
type CPUResourceField float64
CPUResourceField is a specialization of float64 to handle details of ELK.
func (CPUResourceField) EachField ¶
func (f CPUResourceField) EachField(fn FieldReportFn)
EachField implements EachFielder on CPUResourceField.
func (CPUResourceField) MarshalJSON ¶
func (f CPUResourceField) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaller on CPUResourceField.
type CallerInfo ¶
type CallerInfo struct {
// contains filtered or unexported fields
}
CallerInfo describes the source of a log message. It should be included in almost every message, to capture information about when and where the message was created.
func GetCallerInfo ¶
func GetCallerInfo(excluding ...Excluder) CallerInfo
GetCallerInfo captures a CallerInfo based on where it's called. It's very common to call this like:
GetCallerInfo(NotHere())
which excludes the function that actually calls GetCallerInfo (usually a message constructor) from the logged call stack.
func (CallerInfo) EachField ¶
func (info CallerInfo) EachField(f FieldReportFn)
EachField calls f repeatedly with name/value pairs that capture what CallerInfo knows about the message.
func (*CallerInfo) ExcludeMe ¶
func (info *CallerInfo) ExcludeMe()
ExcludeMe can be used to exclude other handler functions from the reportable stack example: msg.CallerInfo.ExcludeMe()
func (*CallerInfo) ExcludePathPattern ¶
func (info *CallerInfo) ExcludePathPattern(pat string)
Exclude path is used to exclude paths that contain a pattern
type Config ¶
type Config struct { Basic struct { Level string `env:"SOUS_LOGGING_LEVEL"` DisableConsole bool ExtraConsole bool `env:"SOUS_EXTRA_CONSOLE"` } Kafka struct { Enabled bool DefaultLevel string `env:"SOUS_KAFKA_LOG_LEVEL"` Topic string `env:"SOUS_KAFKA_TOPIC"` Brokers []string BrokerList string `env:"SOUS_KAFKA_BROKERS"` } Graphite struct { Enabled bool Server string `env:"SOUS_GRAPHITE_SERVER"` } }
Config captures outside configuration for a root LogSet
func (Config) GetBasicLevel ¶
GetBasicLevel gets the basic level of logging for this configuration. that is, the level of messages that would be logged that should be emitted to the console this is separate from messages that are designed for human consumption
type ConsoleMessage ¶
A ConsoleMessage has messages to report to a local human operator (c.f. Deliver)
type EachFielder ¶
type EachFielder interface {
EachField(fn FieldReportFn)
}
A EachFielder provides EachField - which calls its argument for each field it wants to submit for logging.
func KV ¶
func KV(n FieldName, v interface{}) EachFielder
KV creates a single-entry EachFielder with the FieldName as the name.
type Excluder ¶
type Excluder interface {
// contains filtered or unexported methods
}
Excluder excludes a frame from being reported.
type FieldName ¶
type FieldName string
const ( AbExperiment FieldName = "ab-experiment" AbVariant FieldName = "ab-variant" AcceptLanguage FieldName = "accept-language" AcntrespStatus FieldName = "acntresp-status" Action FieldName = "action" ActionName FieldName = "action-name" AddressLocationFallback FieldName = "address-location-fallback" AddressMatches FieldName = "address-matches" Alpha FieldName = "alpha" AnnounceDelete FieldName = "announce-delete" AnnounceEnvironment FieldName = "announce-environment" AnnounceFeature FieldName = "announce-feature" AnnounceId FieldName = "announce-id" AnnounceIndex FieldName = "announce-index" AnnounceMetadata FieldName = "announce-metadata" AnnounceServiceType FieldName = "announce-service-type" AnnounceServiceUri FieldName = "announce-service-uri" AnnounceStatic FieldName = "announce-static" AnnounceTime FieldName = "announce-time" AnonIdAction FieldName = "anon-id-action" AnonymousId FieldName = "anonymous-id" ApiErrorMessage FieldName = "api-error-message" ApiName FieldName = "api-name" ApiStatusCode FieldName = "api-status-code" ApiVersion FieldName = "api-version" ApplicationAction FieldName = "application-action" ApplicationController FieldName = "application-controller" ApplicationLogType FieldName = "application-log-type" ApplicationMethodName FieldName = "application-method-name" ApplicationTags FieldName = "application-tags" ApplicationVersion FieldName = "application-version" Args FieldName = "args" Arguments FieldName = "arguments" Audit FieldName = "audit" AuthenticationProvider FieldName = "authentication-provider" AuthenticationSuccess FieldName = "authentication-success" Backend FieldName = "backend" BackendHttpCode FieldName = "backend-http-code" BatchId FieldName = "batch-id" BeBillid FieldName = "be-billid" BeBillrunid FieldName = "be-billrunid" BeDbid FieldName = "be-dbid" BeEosJobid FieldName = "be-eos-jobid" BeFsid FieldName = "be-fsid" Beta FieldName = "beta" BeWebid FieldName = "be-webid" BfErrCode FieldName = "bf-err-code" BfErrDetails FieldName = "bf-err-details" Bindings FieldName = "bindings" Body FieldName = "body" BodySize FieldName = "body-size" BookingCovers FieldName = "booking-covers" BookingPreferredDatetime FieldName = "booking-preferred-datetime" CacheDurationMs FieldName = "cache-duration-ms" CacheErrorValue FieldName = "cache-error-value" CacheServerUrl FieldName = "cache-server-url" CallStackCode FieldName = "call-stack-code" CallStackFile FieldName = "call-stack-file" CallStackLineNumber FieldName = "call-stack-line-number" CallStackMessage FieldName = "call-stack-message" CallStackTrace FieldName = "call-stack-trace" CallStackType FieldName = "call-stack-type" CaseNumber FieldName = "case-number" CityMatches FieldName = "city-matches" ClientIp FieldName = "client-ip" ClientSide FieldName = "client-side" Collection FieldName = "collection" Command FieldName = "command" ComponentId FieldName = "component-id" ConfigSearchMicros FieldName = "config-search-micros" ConfirmationNumber FieldName = "confirmation-number" ConnectAlertsV2Culture FieldName = "connect-alerts-v2-culture" ConnectAlertsV2Email FieldName = "connect-alerts-v2-email" ConnectAlertsV2Flag FieldName = "connect-alerts-v2-flag" ConnectAlertsV2HasSameDayAction FieldName = "connect-alerts-v2-has-same-day-action" ConnectAlertsV2ReservationGpid FieldName = "connect-alerts-v2-reservation-gpid" ConnectAlertsV2ReservationLanguageCode FieldName = "connect-alerts-v2-reservation-language-code" ConnectAlertsV2ReservationPartySize FieldName = "connect-alerts-v2-reservation-party-size" ConnectAlertsV2ReservationRegion FieldName = "connect-alerts-v2-reservation-region" ConnectAlertsV2ReservationState FieldName = "connect-alerts-v2-reservation-state" ConnectAlertsV2SubscriptionId FieldName = "connect-alerts-v2-subscription-id" ConnectAlertsV2TemplateName FieldName = "connect-alerts-v2-template-name" ConnectAlertsV2Timezone FieldName = "connect-alerts-v2-timezone" ConnectAlertsV2Window FieldName = "connect-alerts-v2-window" ConnectionAction FieldName = "connection-action" ConnectionDirection FieldName = "connection-direction" ConnectionDuration FieldName = "connection-duration" ConnectionId FieldName = "connection-id" ConnectionInterface FieldName = "connection-interface" ConnectionProtocolId FieldName = "connection-protocol-id" ConnectionReason FieldName = "connection-reason" ConnectionReceived FieldName = "connection-received" ConnectionSent FieldName = "connection-sent" ConnectionService FieldName = "connection-service" ConnectorName FieldName = "connector-name" ConnectorPort FieldName = "connector-port" Context FieldName = "context" ContextId FieldName = "context-id" ControllerName FieldName = "controller-name" CountryCode FieldName = "country-code" CreatedAt FieldName = "created-at" CuisineId FieldName = "cuisine-id" CuisineMatches FieldName = "cuisine-matches" CustomMessageDate FieldName = "custom-message-date" CustomMessageLanguage FieldName = "custom-message-language" CustomMessageType FieldName = "custom-message-type" DeliverAfter FieldName = "deliver-after" DeliverBefore FieldName = "deliver-before" DeliveredAt FieldName = "delivered-at" DeliverLatencyMs FieldName = "deliver-latency-ms" DeployId FieldName = "deploy-id" DeployStatus FieldName = "deploy-status" DeserializeTime FieldName = "deserialize-time" DestinationDiscoveryName FieldName = "destination-discovery-name" Destination FieldName = "destination" Device FieldName = "device" DevnotifBundleId FieldName = "devnotif-bundle-id" DevnotifDeviceToken FieldName = "devnotif-device-token" DevnotifNotification FieldName = "devnotif-notification" DevnotifPayload FieldName = "devnotif-payload" DevnotifPushProvider FieldName = "devnotif-push-provider" DinerschoiceListType FieldName = "dinerschoice-list-type" DinerschoiceMostBookedList FieldName = "dinerschoice-most-booked-list" DinerschoiceTagName FieldName = "dinerschoice-tag-name" DispatcherActionErrors FieldName = "dispatcher-action-errors" DispatcherActionResults FieldName = "dispatcher-action-results" DispatcherErrorOccured FieldName = "dispatcher-error-occured" DispatcherEventType FieldName = "dispatcher-event-type" DispatcherReminderType FieldName = "dispatcher-reminder-type" DispatcherRuleErrors FieldName = "dispatcher-rule-errors" DispatcherRulesResults FieldName = "dispatcher-rules-results" DocsCountAfterSync FieldName = "docs-count-after-sync" DocsCountBeforeSync FieldName = "docs-count-before-sync" DocsDeletes FieldName = "docs-deletes" DocsInserts FieldName = "docs-inserts" DocsUpdates FieldName = "docs-updates" Domain FieldName = "domain" DstInterface FieldName = "dst-interface" DstIp FieldName = "dst-ip" DstMappedIp FieldName = "dst-mapped-ip" DstMappedPort FieldName = "dst-mapped-port" DstPort FieldName = "dst-port" Duration FieldName = "duration" DurationMs FieldName = "duration-ms" EdaContextId FieldName = "eda-context-id" EdaMessageId FieldName = "eda-message-id" EndpointName FieldName = "endpoint-name" EndpointVersion FieldName = "endpoint-version" EndpointVersionSource FieldName = "endpoint-version-source" ErbHostName FieldName = "erb-host-name" ErrorCount FieldName = "error-count" Error FieldName = "error" ErrorId FieldName = "error-id" ErrorMessage FieldName = "error-message" Errornum FieldName = "errornum" ErrorSeverity FieldName = "error-severity" ErrorType FieldName = "error-type" ExceptionClassName FieldName = "exception-class-name" ExceptionContext FieldName = "exception-context" ExceptionDetails FieldName = "exception-details" Exception FieldName = "exception" ExceptionMessage FieldName = "exception-message" ExceptionMethod FieldName = "exception-method" ExceptionSource FieldName = "exception-source" ExceptionStacktrace FieldName = "exception-stacktrace" ExceptionTarget FieldName = "exception-target" ExceptionType FieldName = "exception-type" ExecutionTimeInMilliseconds FieldName = "execution-time-in-milliseconds" ExitCode FieldName = "exit-code" Experiments FieldName = "experiments" F5MonitorFrom FieldName = "f5-monitor-from" F5MonitorName FieldName = "f5-monitor-name" F5Pool FieldName = "f5-pool" F5PoolMember FieldName = "f5-pool-member" F5Profile FieldName = "f5-profile" F5Rule FieldName = "f5-rule" F5StateChange FieldName = "f5-state-change" F5Vip FieldName = "f5-vip" F5WideIp FieldName = "f5-wide-ip" Facility2Label FieldName = "facility2-label" FacilityLabel FieldName = "facility-label" FailingRepository FieldName = "failing-repository" FailingRepositoryOwner FieldName = "failing-repository-owner" FailingService FieldName = "failing-service" FeatureGroupName FieldName = "feature-group-name" FeatureName FieldName = "feature-name" File FieldName = "file" FilterCluster FieldName = "filter-cluster" FilterFlavor FieldName = "filter-flavor" FilterOffset FieldName = "filter-offset" FilterRepo FieldName = "filter-repo" FilterRevision FieldName = "filter-revision" FilterTag FieldName = "filter-tag" FinishedAt FieldName = "finished-at" FmnActiveThreads FieldName = "fmn-active-threads" FmnAvailPortThreads FieldName = "fmn-avail-port-threads" FmnAvailWorkerThreads FieldName = "fmn-avail-worker-threads" FmnDeliveryDuration FieldName = "fmn-delivery-duration" FmnDisposition FieldName = "fmn-disposition" FmnPmemory FieldName = "fmn-pmemory" FmnQueueNewCapacity FieldName = "fmn-queue-new-capacity" FmnQueueOldCapacity FieldName = "fmn-queue-old-capacity" FmnQueueSize FieldName = "fmn-queue-size" FmnQueueTimerThreads FieldName = "fmn-queue-timer-threads" FmnReminderId FieldName = "fmn-reminder-id" FmnVmemory FieldName = "fmn-vmemory" FormatVersion FieldName = "format-version" ForwardedRequest FieldName = "forwarded-request" FreetextMetroId FieldName = "freetext-metro-id" FreetextNeighborhoodIds FieldName = "freetext-neighborhood-ids" FreetextRegionIds FieldName = "freetext-region-ids" GcbeAbandonedTaskAttemptCount FieldName = "gcbe-abandoned-task-attempt-count" GcbeActivationRequestSent FieldName = "gcbe-activation-request-sent" GcbeActivationStartTime FieldName = "gcbe-activation-start-time" GcbeActiveThreadCount FieldName = "gcbe-active-thread-count" GcbeAdjustedEndTime FieldName = "gcbe-adjusted-end-time" GcbeAdjustedStartTime FieldName = "gcbe-adjusted-start-time" GcbeAdvancedBooking FieldName = "gcbe-advanced-booking" GcbeAlgorithmName FieldName = "gcbe-algorithm-name" GcbeApiVersion FieldName = "gcbe-api-version" GcbeAssumedDoneCount FieldName = "gcbe-assumed-done-count" GcbeAssumedSeatedCount FieldName = "gcbe-assumed-seated-count" GcbeAuditRequired FieldName = "gcbe-audit-required" GcbeAuditStatus FieldName = "gcbe-audit-status" GcbeAuditTrigger FieldName = "gcbe-audit-trigger" GcbeAuthClient FieldName = "gcbe-auth-client" GcbeAuthUser FieldName = "gcbe-auth-user" GcbeAvailabilityMatches FieldName = "gcbe-availability-matches" GcbeAvailabilitySnapshotSequenceRestartedEnforced FieldName = "gcbe-availability-snapshot-sequence-restarted-enforced" GcbeAvailabilitySnapshotSequenceRestarted FieldName = "gcbe-availability-snapshot-sequence-restarted" GcbeAvailabilitySnapshotTaskCount FieldName = "gcbe-availability-snapshot-task-count" GcbeAvailSearchMultiRid FieldName = "gcbe-avail-search-multi-rid" GcbeAverageDurationMs FieldName = "gcbe-average-duration-ms" GcbeAvstoreTimesAvailable FieldName = "gcbe-avstore-times-available" GcbeAwaitingTime FieldName = "gcbe-awaiting-time" GcbeBackwardMinutes FieldName = "gcbe-backward-minutes" GcbeBatchTimeMs FieldName = "gcbe-batch-time-ms" GcbeBusinessDayChanged FieldName = "gcbe-business-day-changed" GcbeBusyAuditBackgroundThreadCount FieldName = "gcbe-busy-audit-background-thread-count" GcbeCacheInitBatch FieldName = "gcbe-cache-init-batch" GcbeCacheInitBatchSize FieldName = "gcbe-cache-init-batch-size" GcbeCallNumber FieldName = "gcbe-call-number" GcbeCallTimeMs FieldName = "gcbe-call-time-ms" GcbeChangeReason FieldName = "gcbe-change-reason" GcbeChanges FieldName = "gcbe-changes" GcbeCheckavailRequestCount FieldName = "gcbe-checkavail-request-count" GcbeCheckavailSearchDateTime FieldName = "gcbe-checkavail-search-date-time" GcbeCheckavailTaskCount FieldName = "gcbe-checkavail-task-count" GcbeClientId FieldName = "gcbe-client-id" GcbeClientType FieldName = "gcbe-client-type" GcbeClientVersion FieldName = "gcbe-client-version" GcbeCompletedWorkItemCount FieldName = "gcbe-completed-work-item-count" GcbeConfirmationNumber FieldName = "gcbe-confirmation-number" GcbeConsumerTimesAvailable FieldName = "gcbe-consumer-times-available" GcbeCount FieldName = "gcbe-count" GcbeCountryCode FieldName = "gcbe-country-code" GcbeCursorDelta FieldName = "gcbe-cursor-delta" GcbeCursorEnd FieldName = "gcbe-cursor-end" GcbeCursor FieldName = "gcbe-cursor" GcbeCursorStart FieldName = "gcbe-cursor-start" GcbeDataAfter FieldName = "gcbe-data-after" GcbeDatabaseName FieldName = "gcbe-database-name" GcbeDataBefore FieldName = "gcbe-data-before" GcbeData FieldName = "gcbe-data" GcbeDateTime FieldName = "gcbe-date-time" GcbeDayOfWeek FieldName = "gcbe-day-of-week" GcbeDaysInAdvance FieldName = "gcbe-days-in-advance" GcbeEndDate FieldName = "gcbe-end-date" GcbeEndpoint FieldName = "gcbe-endpoint" GcbeEndTime FieldName = "gcbe-end-time" GcbeEnforceSequenceRestartedPercentage FieldName = "gcbe-enforce-sequence-restarted-percentage" GcbeEtlCheckIntervalInMs FieldName = "gcbe-etl-check-interval-in-ms" GcbeEtlProcessingBatchSize FieldName = "gcbe-etl-processing-batch-size" GcbeEtlProcessingTriggerIntervalInSeconds FieldName = "gcbe-etl-processing-trigger-interval-in-seconds" GcbeExactTime FieldName = "gcbe-exact-time" GcbeExpiresUtc FieldName = "gcbe-expires-utc" GcbeFirstName FieldName = "gcbe-first-name" GcbeForwardDays FieldName = "gcbe-forward-days" GcbeForwardMinutes FieldName = "gcbe-forward-minutes" GcbeFromTime FieldName = "gcbe-from-time" GcbeFullAuditBackgroundThreadCount FieldName = "gcbe-full-audit-background-thread-count" GcbeFullTaskCount FieldName = "gcbe-full-task-count" GcbeFutureReservationCount FieldName = "gcbe-future-reservation-count" GcbeGuestEmail FieldName = "gcbe-guest-email" GcbeGuestId FieldName = "gcbe-guest-id" GcbeGuestJson FieldName = "gcbe-guest-json" GcbeHeaders FieldName = "gcbe-headers" GcbeIdleAuditBackgroundThreadCount FieldName = "gcbe-idle-audit-background-thread-count" GcbeImportBatchErrorCount FieldName = "gcbe-import-batch-error-count" GcbeImportBatchSize FieldName = "gcbe-import-batch-size" GcbeImportOrigin FieldName = "gcbe-import-origin" GcbeInventoryType FieldName = "gcbe-inventory-type" GcbeIsAvailabilityCached FieldName = "gcbe-is-availability-cached" GcbeIsCurrentTablePreserved FieldName = "gcbe-is-current-table-preserved" GcbeIsDistributedCacheActive FieldName = "gcbe-is-distributed-cache-active" GcbeIsDistributedCacheAvailable FieldName = "gcbe-is-distributed-cache-available" GcbeIsWaitlistAvailable FieldName = "gcbe-is-waitlist-available" GcbeLastName FieldName = "gcbe-last-name" GcbeMaxBatchSize FieldName = "gcbe-max-batch-size" GcbeMetricName FieldName = "gcbe-metric-name" GcbeMetricValue FieldName = "gcbe-metric-value" GcbeMetricValueSecondary FieldName = "gcbe-metric-value-secondary" GcbeMetricValueTertiary FieldName = "gcbe-metric-value-tertiary" GcbeMismatchTimes FieldName = "gcbe-mismatch-times" GcbeMostRecentQuote FieldName = "gcbe-most-recent-quote" GcbeNumberOfCacheInitDays FieldName = "gcbe-number-of-cache-init-days" GcbeNumberOfOrphansAfter FieldName = "gcbe-number-of-orphans-after" GcbeNumberOfOrphansBefore FieldName = "gcbe-number-of-orphans-before" GcbeNumberOfOrphansDifference FieldName = "gcbe-number-of-orphans-difference" GcbeNumberOfPages FieldName = "gcbe-number-of-pages" GcbeNumberOfRidsSeen FieldName = "gcbe-number-of-rids-seen" GcbeNumberOfUnexpectedDinerBlocksFound FieldName = "gcbe-number-of-unexpected-diner-blocks-found" GcbeOnlineWaitlistEnabled FieldName = "gcbe-online-waitlist-enabled" GcbeOrphanReason FieldName = "gcbe-orphan-reason" GcbeOrphanTrigger FieldName = "gcbe-orphan-trigger" GcbePhoneNumber FieldName = "gcbe-phone-number" GcbePositionInLine FieldName = "gcbe-position-in-line" GcbeProblematicRidCount FieldName = "gcbe-problematic-rid-count" GcbeProcessingDelay FieldName = "gcbe-processing-delay" GcbeProcessingQueueSize FieldName = "gcbe-processing-queue-size" GcbeProcessingTime FieldName = "gcbe-processing-time" GcbeProcessingTimeMs FieldName = "gcbe-processing-time-ms" GcbeQueuedWorkItemCount FieldName = "gcbe-queued-work-item-count" GcbeReflowOpportunityFoundAlgorithm FieldName = "gcbe-reflow-opportunity-found-algorithm" GcbeReflowOpportunityFound FieldName = "gcbe-reflow-opportunity-found" GcbeReflowOpportunityReason FieldName = "gcbe-reflow-opportunity-reason" GcbeRequestBodyIncoming FieldName = "gcbe-request-body-incoming" GcbeRequestBodyOutgoing FieldName = "gcbe-request-body-outgoing" GcbeRequestedBatchSize FieldName = "gcbe-requested-batch-size" GcbeRequestedDate FieldName = "gcbe-requested-date" GcbeRequestedEndTime FieldName = "gcbe-requested-end-time" GcbeRequestedStartTime FieldName = "gcbe-requested-start-time" GcbeRequestSource FieldName = "gcbe-request-source" GcbeReservationAction FieldName = "gcbe-reservation-action" GcbeReservationId FieldName = "gcbe-reservation-id" GcbeReservationJson FieldName = "gcbe-reservation-json" GcbeReservationRequestType FieldName = "gcbe-reservation-request-type" GcbeReservationScheduledDateEnd FieldName = "gcbe-reservation-scheduled-date-end" GcbeReservationScheduledDateStart FieldName = "gcbe-reservation-scheduled-date-start" GcbeReservationsOriginatingFrom FieldName = "gcbe-reservations-originating-from" GcbeReservationSource FieldName = "gcbe-reservation-source" GcbeReservationState FieldName = "gcbe-reservation-state" GcbeReservationTime FieldName = "gcbe-reservation-time" GcbeRestaurantDate FieldName = "gcbe-restaurant-date" GcbeRestaurantLocalDateTime FieldName = "gcbe-restaurant-local-date-time" GcbeRestaurantLocale FieldName = "gcbe-restaurant-locale" GcbeRestaurantName FieldName = "gcbe-restaurant-name" GcbeRetryCount FieldName = "gcbe-retry-count" GcbeReversePriorityMaxDt FieldName = "gcbe-reverse-priority-max-dt" GcbeReversePriorityMinDt FieldName = "gcbe-reverse-priority-min-dt" GcbeReverseProcessingThresholdDt FieldName = "gcbe-reverse-processing-threshold-dt" GcbeRidCountReduction FieldName = "gcbe-rid-count-reduction" GcbeRidsGeneratedCount FieldName = "gcbe-rids-generated-count" GcbeRidsGeneratedUnfilteredCount FieldName = "gcbe-rids-generated-unfiltered-count" GcbeRidsReceivedCount FieldName = "gcbe-rids-received-count" GcbeSequenceId FieldName = "gcbe-sequence-id" GcbeSequenceNumberAvstore FieldName = "gcbe-sequence-number-avstore" GcbeSequenceNumberCurrent FieldName = "gcbe-sequence-number-current" GcbeSequenceNumberDifference FieldName = "gcbe-sequence-number-difference" GcbeSequenceNumberInventory FieldName = "gcbe-sequence-number-inventory" GcbeSequenceNumberResoUpdate FieldName = "gcbe-sequence-number-reso-update" GcbeSequenceNumberSnapshot FieldName = "gcbe-sequence-number-snapshot" GcbeServiceGroup FieldName = "gcbe-service-group" GcbeSlotLockId FieldName = "gcbe-slot-lock-id" GcbeStartDate FieldName = "gcbe-start-date" GcbeStartTime FieldName = "gcbe-start-time" GcbeTableAssignment FieldName = "gcbe-table-assignment" GcbeTableCategories FieldName = "gcbe-table-categories" GcbeTableCategory FieldName = "gcbe-table-category" GcbeTaskGroupId FieldName = "gcbe-task-group-id" GcbeTaskId FieldName = "gcbe-task-id" GcbeThreadInUseCount FieldName = "gcbe-thread-in-use-count" GcbeTimeDetectedEpoch FieldName = "gcbe-time-detected-epoch" GcbeTimeElapsedMs FieldName = "gcbe-time-elapsed-ms" GcbeTimeReceivedEpoch FieldName = "gcbe-time-received-epoch" GcbeTimeReceived FieldName = "gcbe-time-received" GcbeTimeSentEpoch FieldName = "gcbe-time-sent-epoch" GcbeTimeSent FieldName = "gcbe-time-sent" GcbeTimeToAbandon FieldName = "gcbe-time-to-abandon" GcbeToken FieldName = "gcbe-token" GcbeTokenResult FieldName = "gcbe-token-result" GcbeTotalDurationMs FieldName = "gcbe-total-duration-ms" GcbeToTime FieldName = "gcbe-to-time" GcbeUnorphanTrigger FieldName = "gcbe-unorphan-trigger" GcbeWaitingPartiesCount FieldName = "gcbe-waiting-parties-count" GcbeWaitingTimeMs FieldName = "gcbe-waiting-time-ms" GcLowPriority FieldName = "gc-low-priority" Gpid FieldName = "gpid" GraphiteFlushInterval FieldName = "graphite-flush-interval" GraphiteServerAddress FieldName = "graphite-server-address" HandlerKind FieldName = "handler-kind" HarnessLogname FieldName = "harness-logname" HasSameDayAction FieldName = "has-same-day-action" HeaderAcceptCharset FieldName = "header-accept-charset" HeaderAcceptEncoding FieldName = "header-accept-encoding" HeaderAccept FieldName = "header-accept" HeaderAcceptLanguage FieldName = "header-accept-language" HeaderActiveresourceRequestId FieldName = "header-activeresource-request-id" HeaderActiveresourceRuntime FieldName = "header-activeresource-runtime" HeaderAkamaiBot FieldName = "header-akamai-bot" HeaderAuthorization FieldName = "header-authorization" HeaderClientTime FieldName = "header-client-time" HeaderConnection FieldName = "header-connection" HeaderContentEncoding FieldName = "header-content-encoding" HeaderContentLength FieldName = "header-content-length" HeaderContentType FieldName = "header-content-type" HeaderCookie FieldName = "header-cookie" HeaderExpect FieldName = "header-expect" HeaderHost FieldName = "header-host" HeaderKeepAlive FieldName = "header-keep-alive" HeaderLocation FieldName = "header-location" HeaderOrigin FieldName = "header-origin" HeaderOtDomain FieldName = "header-ot-domain" HeaderOthers FieldName = "header-others" HeaderOtOriginaluri FieldName = "header-ot-originaluri" HeaderOtReferringHost FieldName = "header-ot-referring-host" HeaderOtReferringService FieldName = "header-ot-referring-service" HeaderReferer FieldName = "header-referer" HeaderRemoteAddress FieldName = "header-remote-address" HeaderSingularityheader FieldName = "header-singularityheader" HeaderTransferEncoding FieldName = "header-transfer-encoding" HeaderUserAgent FieldName = "header-user-agent" HeaderXAkamaiEdgescape FieldName = "header-x-akamai-edgescape" HeaderXCnection FieldName = "header-x-cnection" HeaderXForwardedFor FieldName = "header-x-forwarded-for" HeaderXForwardedForFirstIp FieldName = "header-x-forwarded-for-first-ip" HeaderXForwardedPort FieldName = "header-x-forwarded-port" HeaderXForwardedProto FieldName = "header-x-forwarded-proto" HeaderXHttpMethodOverride FieldName = "header-x-http-method-override" HeaderXRealIp FieldName = "header-x-real-ip" HermesConversionEventNotes FieldName = "hermes-conversion-event-notes" HermesConversionEventType FieldName = "hermes-conversion-event-type" HermesUrl FieldName = "hermes-url" HermesUserName FieldName = "hermes-user-name" Host FieldName = "host" HostHeader FieldName = "host-header" Hostname FieldName = "hostname" HostPort FieldName = "host-port" HttpAction FieldName = "http-action" IcmpCode FieldName = "icmp-code" IcmpSeqNum FieldName = "icmp-seq-num" IcmpType FieldName = "icmp-type" IcmpXlatedCode FieldName = "icmp-xlated-code" Id FieldName = "id" Incoming FieldName = "incoming" InfoType FieldName = "info-type" InnerexceptionClassName FieldName = "innerexception-class-name" InnerexceptionMessage FieldName = "innerexception-message" InnerexceptionMethod FieldName = "innerexception-method" InnerexceptionSource FieldName = "innerexception-source" InnerexceptionStacktrace FieldName = "innerexception-stacktrace" InReplyTo FieldName = "in-reply-to" InstanceNo FieldName = "instance-no" IpadClientId FieldName = "ipad-client-id" IsTestRestaurant FieldName = "is-test-restaurant" JsonValue FieldName = "json-value" KafkaBrokers FieldName = "kafka-brokers" KafkaLoggerId FieldName = "kafka-logger-id" KafkaLoggingLevels FieldName = "kafka-logging-levels" KafkaLoggingTopic FieldName = "kafka-logging-topic" Language FieldName = "language" LanguageRanges FieldName = "language-ranges" LimitAddresses FieldName = "limit-addresses" LimitCities FieldName = "limit-cities" LimitCuisines FieldName = "limit-cuisines" LimitLocations FieldName = "limit-locations" LimitRestaurants FieldName = "limit-restaurants" LineNumber FieldName = "line-number" Location FieldName = "location" LocationMatches FieldName = "location-matches" LogEvent FieldName = "log-event" LoggerClass FieldName = "logger-class" LoggerName FieldName = "logger-name" LoggingLibraryName FieldName = "logging-library-name" LoggingLibraryVersion FieldName = "logging-library-version" Loglov3Otl FieldName = "@loglov3-otl" Loglov3Selector FieldName = "@loglov3-selector" Logname FieldName = "logname" LogName FieldName = "log-name" LogSource FieldName = "log-source" LoyaltyCurrentState FieldName = "loyalty-current-state" LoyaltyPreviousState FieldName = "loyalty-previous-state" Map FieldName = "map" MarketRegion FieldName = "market-region" MessageBody FieldName = "message-body" Message FieldName = "message" MessageId FieldName = "message-id" MessageTimeSent FieldName = "message-time-sent" MessageTrace FieldName = "message-trace" MessageType FieldName = "message-type" MessageTypeId FieldName = "message-type-id" MethodDuration FieldName = "method-duration" Method FieldName = "method" MethodName FieldName = "method-name" MobileAppId FieldName = "mobile-app-id" MobileAppVersion FieldName = "mobile-app-version" ModifiedAt FieldName = "modified-at" Modified FieldName = "modified" MongoDurationMs FieldName = "mongo-duration-ms" MongoQuery FieldName = "mongo-query" NoshowApiForceMessagePublish FieldName = "noshow-api-force-message-publish" OcComponentHref FieldName = "oc-component-href" OcComponentName FieldName = "oc-component-name" OcComponentParams FieldName = "oc-component-params" OcComponentRenderMode FieldName = "oc-component-render-mode" OcComponentRequestVersion FieldName = "oc-component-request-version" OcComponentRetryNumber FieldName = "oc-component-retry-number" OcComponentVersion FieldName = "oc-component-version" OcEventName FieldName = "oc-event-name" OcEventOverflow FieldName = "oc-event-overflow" OcEventQuantity FieldName = "oc-event-quantity" OcJsAppName FieldName = "oc-js-app-name" OcJsAppVersion FieldName = "oc-js-app-version" OcJsBrowserTime FieldName = "oc-js-browser-time" OcJsEventName FieldName = "oc-js-event-name" OcJsSessionDuration FieldName = "oc-js-session-duration" OcJsUrl FieldName = "oc-js-url" OcJsUrlQuerystring FieldName = "oc-js-url-querystring" OcReviewsParamsBestrestaurantinlinktext FieldName = "oc-reviews-params-bestrestaurantinlinktext" OcReviewsParamsBestrestaurantsinlink FieldName = "oc-reviews-params-bestrestaurantsinlink" OcReviewsParamsCulture FieldName = "oc-reviews-params-culture" OcReviewsParamsDomain FieldName = "oc-reviews-params-domain" OcReviewsParamsEnabledinerprofile FieldName = "oc-reviews-params-enabledinerprofile" OcReviewsParamsEnabledinertipsbottombar FieldName = "oc-reviews-params-enabledinertipsbottombar" OcReviewsParamsEnablediningoccasion FieldName = "oc-reviews-params-enablediningoccasion" OcReviewsParamsEnablediningoccasionicon FieldName = "oc-reviews-params-enablediningoccasionicon" OcReviewsParamsEnablefilterbydiningoccasion FieldName = "oc-reviews-params-enablefilterbydiningoccasion" OcReviewsParamsEnableflippedlayout FieldName = "oc-reviews-params-enableflippedlayout" OcReviewsParamsEnablehelpfulness FieldName = "oc-reviews-params-enablehelpfulness" OcReviewsParamsEnablepopulardishes FieldName = "oc-reviews-params-enablepopulardishes" OcReviewsParamsEnablerecommendedsort FieldName = "oc-reviews-params-enablerecommendedsort" OcReviewsParamsEnablereporting FieldName = "oc-reviews-params-enablereporting" OcReviewsParamsEnablesearch FieldName = "oc-reviews-params-enablesearch" OcReviewsParamsEnabletopreviews FieldName = "oc-reviews-params-enabletopreviews" OcReviewsParamsEnabletranslation FieldName = "oc-reviews-params-enabletranslation" OcReviewsParamsEnablevoteforcategory FieldName = "oc-reviews-params-enablevoteforcategory" OcReviewsParamsFilterbydiningoccasion FieldName = "oc-reviews-params-filterbydiningoccasion" OcReviewsParamsFilterbyoverallrating FieldName = "oc-reviews-params-filterbyoverallrating" OcReviewsParamsFilterbytagid FieldName = "oc-reviews-params-filterbytagid" OcReviewsParamsGpid FieldName = "oc-reviews-params-gpid" OcReviewsParamsHideaspectscores FieldName = "oc-reviews-params-hideaspectscores" OcReviewsParamsId FieldName = "oc-reviews-params-id" OcReviewsParamsMovedclistsatf FieldName = "oc-reviews-params-movedclistsatf" OcReviewsParamsPage FieldName = "oc-reviews-params-page" OcReviewsParamsPagesize FieldName = "oc-reviews-params-pagesize" OcReviewsParamsReviewid FieldName = "oc-reviews-params-reviewid" OcReviewsParamsReviewssummarypopupvariant FieldName = "oc-reviews-params-reviewssummarypopupvariant" OcReviewsParamsRid FieldName = "oc-reviews-params-rid" OcReviewsParamsSearchby FieldName = "oc-reviews-params-searchby" OcReviewsParamsSortby FieldName = "oc-reviews-params-sortby" OcReviewsParamsTranslateto FieldName = "oc-reviews-params-translateto" OcUaBrowserMajor FieldName = "oc-ua-browser-major" OcUaBrowserName FieldName = "oc-ua-browser-name" OcUaBrowserVersion FieldName = "oc-ua-browser-version" OcUaDeviceModel FieldName = "oc-ua-device-model" OcUaDeviceType FieldName = "oc-ua-device-type" OcUaDeviceVendor FieldName = "oc-ua-device-vendor" OcUaEngineName FieldName = "oc-ua-engine-name" OcUaEngineVersion FieldName = "oc-ua-engine-version" OcUaOsName FieldName = "oc-ua-os-name" OcUaOsVersion FieldName = "oc-ua-os-version" OperatingSystem FieldName = "operating-system" OperatingSystemVersion FieldName = "operating-system-version" Operation FieldName = "operation" OriginalUri FieldName = "original-uri" OsMessage FieldName = "os-message" OtCurrentPage FieldName = "ot-current-page" OtDomain FieldName = "ot-domain" OtEnv FieldName = "ot-env" OtEnvFlavor FieldName = "ot-env-flavor" OtEnvLocation FieldName = "ot-env-location" OtEnvType FieldName = "ot-env-type" OtlType FieldName = "otl-type" OtUvidPresent FieldName = "ot-uvid-present" PartnerAction FieldName = "partner-action" PartnerAuditDate FieldName = "partner-audit-date" PartnerAuditLocalValue FieldName = "partner-audit-local-value" PartnerAuditName FieldName = "partner-audit-name" PartnerAuditPartySize FieldName = "partner-audit-party-size" PartnerAuditRemoteValue FieldName = "partner-audit-remote-value" PartnerAuditSequenceId FieldName = "partner-audit-sequence-id" PartnerAuditSuccess FieldName = "partner-audit-success" PartnerDirection FieldName = "partner-direction" PartnerId FieldName = "partner-id" PartnerName FieldName = "partner-name" PartnerOperation FieldName = "partner-operation" PartnerStatus FieldName = "partner-status" PartySize FieldName = "party-size" Path FieldName = "path" PauseDuration FieldName = "pause-duration" PersonalizerLegacy FieldName = "personalizer-legacy" Pid FieldName = "pid" PinsConciergeConfirmationNumber FieldName = "pins-concierge-confirmation-number" PinsCovers FieldName = "pins-covers" PinsCustomerConfirmationNumber FieldName = "pins-customer-confirmation-number" PinsFailedToReleaseCount FieldName = "pins-failed-to-release-count" PinsLockedAtPrice FieldName = "pins-locked-at-price" PinsLockedByGpid FieldName = "pins-locked-by-gpid" PinsPointsExchangeId FieldName = "pins-points-exchange-id" PinsPrice FieldName = "pins-price" PinsRedemptionId FieldName = "pins-redemption-id" PinsReservationDateTime FieldName = "pins-reservation-date-time" PinsWasCancelledAtRestaurantDuringSlv FieldName = "pins-was-cancelled-at-restaurant-during-slv" PinsWasCancelledAtRestaurant FieldName = "pins-was-cancelled-at-restaurant" PinsWasCancelled FieldName = "pins-was-cancelled" PinsWasCancelledOt FieldName = "pins-was-cancelled-ot" PinsWasCancelledWeb FieldName = "pins-was-cancelled-web" PinsWasLostDuringTransfer FieldName = "pins-was-lost-during-transfer" PinsWasNoShow FieldName = "pins-was-no-show" PinsWasReleased FieldName = "pins-was-released" PinsWasSeated FieldName = "pins-was-seated" PinsWhenCancelledAtRestaurantDuringSlv FieldName = "pins-when-cancelled-at-restaurant-during-slv" PinsWhenCancelledAtRestaurant FieldName = "pins-when-cancelled-at-restaurant" PinsWhenCancelled FieldName = "pins-when-cancelled" PinsWhenCancelledOt FieldName = "pins-when-cancelled-ot" PinsWhenCancelledWeb FieldName = "pins-when-cancelled-web" PinsWhenLocked FieldName = "pins-when-locked" PinsWhenLost FieldName = "pins-when-lost" PinsWhenNoShow FieldName = "pins-when-no-show" PinsWhenReleased FieldName = "pins-when-released" PinsWhenSeated FieldName = "pins-when-seated" PinsWhenSold FieldName = "pins-when-sold" PolicyId FieldName = "policy-id" PreferredReservationDatetime FieldName = "preferred-reservation-datetime" Process FieldName = "process" ProcessGuid FieldName = "process-guid" Program FieldName = "program" ProgramName FieldName = "program-name" PromotedofferAdminApiDurationMs FieldName = "promotedoffer-admin-api-duration-ms" PromotedofferAdminApiHeaders FieldName = "promotedoffer-admin-api-headers" PromotedoffersDatasyncDatabase FieldName = "promotedoffers-datasync-database" PromotedoffersDatasyncObjectsLoadedFromMongo FieldName = "promotedoffers-datasync-objects-loaded-from-mongo" PromotedoffersDatasyncObjectsLoadedFromSql FieldName = "promotedoffers-datasync-objects-loaded-from-sql" PromotedoffersDatasyncTaskname FieldName = "promotedoffers-datasync-taskname" PromotedoffersDatasyncUpdatedObjects FieldName = "promotedoffers-datasync-updated-objects" Protocol FieldName = "protocol" Provider FieldName = "provider" ProxyingDurationMicros FieldName = "proxying-duration-micros" PuppetCatalogCompilationTime FieldName = "puppet-catalog-compilation-time" PuppetClientEnv FieldName = "puppet-client-env" PuppetClient FieldName = "puppet-client" PuppetResource FieldName = "puppet-resource" Query FieldName = "query" QueryString FieldName = "query-string" RailsAction FieldName = "rails-action" RailsController FieldName = "rails-controller" RailsDbDuration FieldName = "rails-db-duration" RailsModel FieldName = "rails-model" RailsViewDuration FieldName = "rails-view-duration" RailsViewFormat FieldName = "rails-view-format" RedisCacheMiss FieldName = "redis-cache-miss" Referer FieldName = "referer" ReferringHost FieldName = "referring-host" ReferringService FieldName = "referring-service" Region FieldName = "region" RelatedUrl FieldName = "related-url" RemoteAddress FieldName = "remote-address" RemoteLogTimestamp FieldName = "remote-log-timestamp" RemotePort FieldName = "remote-port" RepliesTo FieldName = "replies-to" Report FieldName = "report" RequestBookingMarketingOptIn FieldName = "request-booking-marketing-opt-in" RequestEndpointName FieldName = "request-endpoint-name" RequestId FieldName = "request-id" RequestName FieldName = "request-name" RequestParams FieldName = "request-params" RequestServiceName FieldName = "request-service-name" RequestUri FieldName = "request-uri" Requeued FieldName = "requeued" ResconfOutgoingServiceArgs FieldName = "resconf-outgoing-service-args" ResconfOutgoingServiceName FieldName = "resconf-outgoing-service-name" ResconfParamsReservationdetails FieldName = "resconf-params-reservationdetails" ResconfReservationdetails FieldName = "resconf-reservationdetails" ReservationEndDatetime FieldName = "reservation-end-datetime" ReservationId FieldName = "reservation-id" ReservationRegion FieldName = "reservation-region" ReservationStartDatetime FieldName = "reservation-start-datetime" ReservationState FieldName = "reservation-state" ReservationStatus FieldName = "reservation-status" ReslocQueryPath FieldName = "resloc-query-path" ResolveCycleStatus FieldName = "resolve-cycle-status" ResolvedDestination FieldName = "resolved-destination" ResolvedLanguage FieldName = "resolved-language" ResourceFamily FieldName = "resource-family" ResponseBody FieldName = "response-body" ResponseError FieldName = "response-error" ResponseSize FieldName = "response-size" RespubTotalCount FieldName = "respub-total-count" RespubWatermark FieldName = "respub-watermark" ResremProcessedCount FieldName = "resrem-processed-count" ResremTotalCount FieldName = "resrem-total-count" RestapiStatus FieldName = "restapi-status" RestapiUrl FieldName = "restapi-url" RestaurantId FieldName = "restaurant-id" RestaurantMatches FieldName = "restaurant-matches" RestaurantName FieldName = "restaurant-name" ReturnValue FieldName = "return-value" ReviewId FieldName = "review-id" ReviewsQueryGpid FieldName = "reviews-query-gpid" ReviewsQueryIsbatchget FieldName = "reviews-query-isbatchget" ReviewsQueryKey FieldName = "reviews-query-key" ReviewsQueryLimit FieldName = "reviews-query-limit" ReviewsQueryMacroid FieldName = "reviews-query-macroid" ReviewsQueryMetroid FieldName = "reviews-query-metroid" ReviewsQueryNeighborhoodid FieldName = "reviews-query-neighborhoodid" ReviewsQueryNumberofreviews FieldName = "reviews-query-numberofreviews" ReviewsQueryReviewid FieldName = "reviews-query-reviewid" ReviewsQueryRid FieldName = "reviews-query-rid" ReviewsQueryRids FieldName = "reviews-query-rids" ReviewsQuerySkipreviews FieldName = "reviews-query-skipreviews" ReviewsQuerySortby FieldName = "reviews-query-sortby" ReviewsQueryStartdate FieldName = "reviews-query-startdate" ReviewsQueryWinnersonly FieldName = "reviews-query-winnersonly" ReviewsReportEndDate FieldName = "reviews-report-end-date" ReviewsReportId FieldName = "reviews-report-id" ReviewsReportStartDate FieldName = "reviews-report-start-date" ReviewText FieldName = "review-text" Rid FieldName = "rid" RspSocialMediaId FieldName = "rsp-social-media-id" RspSocialMediaType FieldName = "rsp-social-media-type" RspTaskPhase FieldName = "rsp-task-phase" RspTaskState FieldName = "rsp-task-state" RuleSourceFile FieldName = "rule-source-file" RuleSourceLine FieldName = "rule-source-line" RuleSourceVersion FieldName = "rule-source-version" RunTime FieldName = "run-time" SearchCriteriaPageIndex FieldName = "search-criteria-page-index" SearchCriteriaProductTypes FieldName = "search-criteria-product-types" SearchCriteriaQuery FieldName = "search-criteria-query" SearchCriteriaRetries FieldName = "search-criteria-retries" SearchCriteriaSortOrder FieldName = "search-criteria-sort-order" SearchDateTime FieldName = "search-date-time" SearchMatchCuisines FieldName = "search-match-cuisines" SearchMatchDescription FieldName = "search-match-description" SearchMatches FieldName = "search-matches" SearchMatchLocations FieldName = "search-match-locations" SearchMatchMenu FieldName = "search-match-menu" SearchMatchName FieldName = "search-match-name" SearchMatchReviews FieldName = "search-match-reviews" SearchRids FieldName = "search-rids" SearchTerm FieldName = "search-term" Sender FieldName = "sender" SensuCheckBusinessGroup FieldName = "sensu-check-business-group" SensuCheckCommand FieldName = "sensu-check-command" SensuCheckDuration FieldName = "sensu-check-duration" SensuCheckExecuted FieldName = "sensu-check-executed" SensuCheckName FieldName = "sensu-check-name" SensuCheckOrigin FieldName = "sensu-check-origin" SensuCheckOutput FieldName = "sensu-check-output" SensuCheckPage FieldName = "sensu-check-page" SensuCheckServiceName FieldName = "sensu-check-service-name" SensuCheckSource FieldName = "sensu-check-source" SensuCheckStatus FieldName = "sensu-check-status" SensuCheckTeam FieldName = "sensu-check-team" SensuCheckTotalStateChange FieldName = "sensu-check-total-state-change" SensuClientAddress FieldName = "sensu-client-address" SensuClientComponentId FieldName = "sensu-client-component-id" SensuClientName FieldName = "sensu-client-name" SensuEventAction FieldName = "sensu-event-action" SensuEventId FieldName = "sensu-event-id" SensuEventLastOk FieldName = "sensu-event-last-ok" SensuEventLastStateChange FieldName = "sensu-event-last-state-change" SensuEventOccurrences FieldName = "sensu-event-occurrences" SensuEventSecsSinceLastOk FieldName = "sensu-event-secs-since-last-ok" SensuEventSilenced FieldName = "sensu-event-silenced" SentUserRequestEvent FieldName = "sent-user-request-event" SequenceNumber FieldName = "sequence-number" SerializeTime FieldName = "serialize-time" ServerIp FieldName = "server-ip" ServerToken FieldName = "server-token" ServiceType FieldName = "service-type" ServiceUri FieldName = "service-uri" ServiceUrl FieldName = "service-url" ServletProcessingMicros FieldName = "servlet-processing-micros" SessionId FieldName = "session-id" Severity FieldName = "severity" SeverityLabel FieldName = "severity-label" SeverityNum FieldName = "severity-num" SfdcOauthErrdesc FieldName = "sfdc-oauth-errdesc" SfdcOauthErr FieldName = "sfdc-oauth-err" SfdcOauthStatus FieldName = "sfdc-oauth-status" SfdcRecordId FieldName = "sfdc-record-id" SfdcReplayFrom FieldName = "sfdc-replay-from" SfdcReplayId FieldName = "sfdc-replay-id" SidecarVersion FieldName = "sidecar-version" SidekiqJobStatus FieldName = "sidekiq-job-status" SidekiqPid FieldName = "sidekiq-pid" SidekiqWorkerTid FieldName = "sidekiq-worker-tid" SingularityTaskId FieldName = "singularity-task-id" SocketDuration FieldName = "socket-duration" SourceId FieldName = "source-id" SourceLine FieldName = "source-line" SousArguments FieldName = "sous-arguments" SousDeployInitiatedBy FieldName = "sous-deploy-initiated-by" SousDeployInitiatedByHost FieldName = "sous-deploy-initiated-by-host" SousDeployInitiatedBySystem FieldName = "sous-deploy-initiated-by-system" SousDeployInitiatedByUser FieldName = "sous-deploy-initiated-by-user" SousDeploymentId FieldName = "sous-deployment-id" SousDeployTargetUrl FieldName = "sous-deploy-target-url" SousDiffDisposition FieldName = "sous-diff-disposition" SousDiffs FieldName = "sous-diffs" SousDuration FieldName = "sous-duration" SousErrorBacktrace FieldName = "sous-error-backtrace" SousErrorMsg FieldName = "sous-error-msg" SousFields FieldName = "sous-fields" SousFlaws FieldName = "sous-flaws" SousIds FieldName = "sous-ids" SousIdValues FieldName = "sous-id-values" SousImageName FieldName = "sous-image-name" SousListenAddress FieldName = "sous-listen-address" SousManifestId FieldName = "sous-manifest-id" SousPostArtifactName FieldName = "sous-post-artifact-name" SousPostArtifactQualities FieldName = "sous-post-artifact-qualities" SousPostArtifactType FieldName = "sous-post-artifact-type" SousPostCheckreadyFailurestatuses FieldName = "sous-post-checkready-failurestatuses" SousPostCheckreadyInterval FieldName = "sous-post-checkready-interval" SousPostCheckreadyPortindex FieldName = "sous-post-checkready-portindex" SousPostCheckreadyProtocol FieldName = "sous-post-checkready-protocol" SousPostCheckreadyRetries FieldName = "sous-post-checkready-retries" SousPostCheckreadyUripath FieldName = "sous-post-checkready-uripath" SousPostCheckreadyUritimeout FieldName = "sous-post-checkready-uritimeout" SousPostClustername FieldName = "sous-post-clustername" SousPostEnv FieldName = "sous-post-env" SousPostFlavor FieldName = "sous-post-flavor" SousPostKind FieldName = "sous-post-kind" SousPostMetadata FieldName = "sous-post-metadata" SousPostNuminstances FieldName = "sous-post-numinstances" SousPostOffset FieldName = "sous-post-offset" SousPostOwners FieldName = "sous-post-owners" SousPostRepo FieldName = "sous-post-repo" SousPostResources FieldName = "sous-post-resources" SousPostStartupConnectdelay FieldName = "sous-post-startup-connectdelay" SousPostStartupConnectinterval FieldName = "sous-post-startup-connectinterval" SousPostStartupSkipcheck FieldName = "sous-post-startup-skipcheck" SousPostStartupTimeout FieldName = "sous-post-startup-timeout" SousPostStatus FieldName = "sous-post-status" SousPostTag FieldName = "sous-post-tag" SousPostVolumes FieldName = "sous-post-volumes" SousPriorArtifactName FieldName = "sous-prior-artifact-name" SousPriorArtifactQualities FieldName = "sous-prior-artifact-qualities" SousPriorArtifactType FieldName = "sous-prior-artifact-type" SousPriorCheckreadyFailurestatuses FieldName = "sous-prior-checkready-failurestatuses" SousPriorCheckreadyInterval FieldName = "sous-prior-checkready-interval" SousPriorCheckreadyPortindex FieldName = "sous-prior-checkready-portindex" SousPriorCheckreadyProtocol FieldName = "sous-prior-checkready-protocol" SousPriorCheckreadyRetries FieldName = "sous-prior-checkready-retries" SousPriorCheckreadyUripath FieldName = "sous-prior-checkready-uripath" SousPriorCheckreadyUritimeout FieldName = "sous-prior-checkready-uritimeout" SousPriorClustername FieldName = "sous-prior-clustername" SousPriorEnv FieldName = "sous-prior-env" SousPriorFlavor FieldName = "sous-prior-flavor" SousPriorKind FieldName = "sous-prior-kind" SousPriorMetadata FieldName = "sous-prior-metadata" SousPriorNuminstances FieldName = "sous-prior-numinstances" SousPriorOffset FieldName = "sous-prior-offset" SousPriorOwners FieldName = "sous-prior-owners" SousPriorRepo FieldName = "sous-prior-repo" SousPriorResources FieldName = "sous-prior-resources" SousPriorStartupConnectdelay FieldName = "sous-prior-startup-connectdelay" SousPriorStartupConnectinterval FieldName = "sous-prior-startup-connectinterval" SousPriorStartupSkipcheck FieldName = "sous-prior-startup-skipcheck" SousPriorStartupTimeout FieldName = "sous-prior-startup-timeout" SousPriorStatus FieldName = "sous-prior-status" SousPriorTag FieldName = "sous-prior-tag" SousPriorVolumes FieldName = "sous-prior-volumes" SousRequestId FieldName = "sous-request-id" SousResolutionDescription FieldName = "sous-resolution-description" SousResolutionErrormessage FieldName = "sous-resolution-errormessage" SousResolutionErrortype FieldName = "sous-resolution-errortype" SousResourceCpus FieldName = "sous-resource-cpus" SousResourceMemory FieldName = "sous-resource-memory" SousResourcePorts FieldName = "sous-resource-ports" SousSourceId FieldName = "sous-source-id" SousSqlQuery FieldName = "sous-sql-query" SousSqlRows FieldName = "sous-sql-rows" SousSuccessfulConnection FieldName = "sous-successful-connection" SousTypes FieldName = "sous-types" SrcInterface FieldName = "src-interface" SrcIp FieldName = "src-ip" SrcMappedIp FieldName = "src-mapped-ip" SrcMappedPort FieldName = "src-mapped-port" SrcPort FieldName = "src-port" SrcXlatedIp FieldName = "src-xlated-ip" SslAction FieldName = "ssl-action" SslCipher FieldName = "ssl-cipher" SslCipherSuite FieldName = "ssl-cipher-suite" SslProto FieldName = "ssl-proto" StartedAt FieldName = "started-at" State FieldName = "state" StateMessage FieldName = "state-message" Status FieldName = "status" SubMessage FieldName = "sub-message" SubProg FieldName = "sub-prog" Success FieldName = "success" SuppressedBusinessRules FieldName = "suppressed-business-rules" SurveyId FieldName = "survey-id" SyncOutcome FieldName = "sync-outcome" SyncTask FieldName = "sync-task" SyslogId FieldName = "syslog-id" TagMatches FieldName = "tag-matches" TargetUri FieldName = "target-uri" Taskname FieldName = "taskname" TaskresultsDatabase FieldName = "taskresults-database" TaskresultsDeleted FieldName = "taskresults-deleted" TaskresultsObjectsLoadedFromMongo FieldName = "taskresults-objects-loaded-from-mongo" TaskresultsObjectsLoadedFromSql FieldName = "taskresults-objects-loaded-from-sql" TaskresultsTaskName FieldName = "taskresults-task-name" TaskresultsUpdates FieldName = "taskresults-updates" TcpErrorCode FieldName = "tcp-error-code" TcpFlags FieldName = "tcp-flags" TemplatedMessage FieldName = "templated-message" ThreadName FieldName = "thread-name" Threshold FieldName = "threshold" TicketExperienceCreateRequest FieldName = "ticket-experience-create-request" TicketExperienceId FieldName = "ticket-experience-id" TicketingTransactionExperienceId FieldName = "ticketing-transaction-experience-id" TicketingTransactionExperienceVersion FieldName = "ticketing-transaction-experience-version" TicketingTransactionExternalServiceEndpoint FieldName = "ticketing-transaction-external-service-endpoint" TicketingTransactionExternalServiceName FieldName = "ticketing-transaction-external-service-name" TicketingTransactionExternalServiceRequestBody FieldName = "ticketing-transaction-external-service-request-body" TicketingTransactionExternalServiceRequestDuration FieldName = "ticketing-transaction-external-service-request-duration" TicketingTransactionExternalServiceRequestStatus FieldName = "ticketing-transaction-external-service-request-status" TicketingTransactionExternalServiceResponseBody FieldName = "ticketing-transaction-external-service-response-body" TicketingTransactionOrderId FieldName = "ticketing-transaction-order-id" TicketingTransactionUserId FieldName = "ticketing-transaction-user-id" Timestamp FieldName = "@timestamp" TimeToFirstByte FieldName = "time-to-first-byte" TimingsDiff FieldName = "timings-diff" TimingsLoad FieldName = "timings-load" TimingsMap FieldName = "timings-map" TimingsUpdate FieldName = "timings-update" TmsArchiveAction FieldName = "tms-archive-action" TmsArchiveResult FieldName = "tms-archive-result" TmsArtifactCount FieldName = "tms-artifact-count" TmsComposerName FieldName = "tms-composer-name" TmsCompositionContentType FieldName = "tms-composition-content-type" TmsCompositionFailureDetail FieldName = "tms-composition-failure-detail" TmsCompositionLog FieldName = "tms-composition-log" TmsCompositionSucceeded FieldName = "tms-composition-succeeded" TmsCompositionTemplateCulture FieldName = "tms-composition-template-culture" TmsCompositionTemplateDomain FieldName = "tms-composition-template-domain" TmsCompositionTemplateLanguage FieldName = "tms-composition-template-language" TmsCompositionTemplateName FieldName = "tms-composition-template-name" TmsCompositionTemplateType FieldName = "tms-composition-template-type" TmsCompositionTemplateVersion FieldName = "tms-composition-template-version" TmsCompositionWasRun FieldName = "tms-composition-was-run" TmsControllerName FieldName = "tms-controller-name" TmsExceptionClassName FieldName = "tms-exception-class-name" TmsExceptionHresult FieldName = "tms-exception-hresult" TmsExceptionMessage FieldName = "tms-exception-message" TmsExceptionMethod FieldName = "tms-exception-method" TmsExceptionSource FieldName = "tms-exception-source" TmsExceptionStacktrace FieldName = "tms-exception-stacktrace" TmsInnerexceptionClassName FieldName = "tms-innerexception-class-name" TmsInnerexceptionHresult FieldName = "tms-innerexception-hresult" TmsInnerexceptionMessage FieldName = "tms-innerexception-message" TmsInnerexceptionMethod FieldName = "tms-innerexception-method" TmsInnerexceptionSource FieldName = "tms-innerexception-source" TmsInnerexceptionStacktrace FieldName = "tms-innerexception-stacktrace" TmsOcParameters FieldName = "tms-oc-parameters" TmsPingConnections FieldName = "tms-ping-connections" TmsPingConsumingFrom FieldName = "tms-ping-consuming-from" TmsPingDiscoverService FieldName = "tms-ping-discover-service" TmsRabbitmqHeadersXDeath FieldName = "tms-rabbitmq-headers-x-death" TmsRabbitmqMessageContentType FieldName = "tms-rabbitmq-message-content-type" TmsRabbitmqMessage FieldName = "tms-rabbitmq-message" TmsRabbitmqQueue FieldName = "tms-rabbitmq-queue" TmsRawHttpHeaders FieldName = "tms-raw-http-headers" TmsRelativeUrl FieldName = "tms-relative-url" TmsRequestBody FieldName = "tms-request-body" TmsRequestEndpointName FieldName = "tms-request-endpoint-name" TmsRequestServiceName FieldName = "tms-request-service-name" TmsRequestStatus FieldName = "tms-request-status" TmsSendgridUsername FieldName = "tms-sendgrid-username" TmsSgeventPayload FieldName = "tms-sgevent-payload" TmsSgeventType FieldName = "tms-sgevent-type" TmsTicketId FieldName = "tms-ticket-id" Topics FieldName = "topics" TopicSubscribed FieldName = "topic-subscribed" TripexprAuthorized FieldName = "tripexpr-authorized" TripexprDestinationLocation FieldName = "tripexpr-destination-location" TripexprEta FieldName = "tripexpr-eta" TripexprRecommendations FieldName = "tripexpr-recommendations" TripexprUberId FieldName = "tripexpr-uber-id" TrueClientIp FieldName = "true-client-ip" TryNumber FieldName = "try-number" UniformUserAgent FieldName = "uniform-user-agent" UpdateResolveId FieldName = "update-resolve-id" UpdateStatus FieldName = "update-status" UpdateUrl FieldName = "update-url" Url FieldName = "url" UrlHostname FieldName = "url-hostname" UrlPathname FieldName = "url-pathname" UrlPort FieldName = "url-port" UrlQuerystring FieldName = "url-querystring" UrlTemplate FieldName = "url-template" UserAgent FieldName = "user-agent" UserauthProviderDuration FieldName = "userauth-provider-duration" UserauthProvider FieldName = "userauth-provider" UserauthProviderResult FieldName = "userauth-provider-result" UserauthToken FieldName = "userauth-token" UserauthUserserviceDuration FieldName = "userauth-userservice-duration" UserEmail FieldName = "user-email" UserId FieldName = "user-id" UserLocale FieldName = "user-locale" Username FieldName = "username" UserName FieldName = "user-name" Uuid FieldName = "@uuid" Worker FieldName = "worker" XForwardedFor FieldName = "x-forwarded-for" XForwardedForFirstIp FieldName = "x-forwarded-for-first-ip" )
type FieldReportFn ¶
type FieldReportFn func(FieldName, interface{})
FieldReportFn is used by LogMessages to report their fields.
func (FieldReportFn) All ¶
func (frf FieldReportFn) All(efs ...EachFielder)
All calls EachField on each of the arguments.
type Level ¶
type Level int
Level is the "level" of a log message (e.g. debug vs fatal)
const ( // CriticalLevel is the level for logging critical errors. CriticalLevel Level = iota // WarningLevel is the level for messages that may be problematic. WarningLevel // InformationLevel is for messages generated during normal operation. InformationLevel // DebugLevel is for messages primarily of interest to the software's developers. DebugLevel // ExtraDebug1Level is the first level of "super" debug messages. ExtraDebug1Level // ExtremeLevel is the "maximum" log level ExtremeLevel )
Level constants are used to communicate the severity of a log message. Note that other possible values of Level will likely result in defaulting to ExtraDebug1Level.
func (Level) DefaultLevel ¶
DefaultLevel is a convenience - by embedding a Level, a message can partially implement LogMessage
func (Level) EachField ¶
func (lvl Level) EachField(fn FieldReportFn)
type LevelRecommender ¶
type LevelRecommender interface {
RecommendedLevel() Level
}
A LevelRecommender can recommend a log level.
type LogMessage ¶
type LogMessage interface { OldLogMessage // Called to report the individual fields for this message. EachField(fn FieldReportFn) }
A LogMessage has structured data to report to the structured log server (c.f. Deliver). Almost every implementation of LogMessage should include a CallerInfo.
type LogSet ¶
type LogSet struct {
// contains filtered or unexported fields
}
LogSet is the stopgap for a decent injectable logger
func NewLogSet ¶
func NewLogSet(version semv.Version, name string, role string, err io.Writer, context ...EachFielder) *LogSet
NewLogSet builds a new Logset that feeds to the listed writers
func SilentLogSet ¶
func SilentLogSet() *LogSet
SilentLogSet returns a logset that discards everything by default
func (*LogSet) BeChatty ¶
func (ls *LogSet) BeChatty()
BeChatty gets the LogSet to print all its output - useful for temporary debugging
func (*LogSet) BeHelpful ¶
func (ls *LogSet) BeHelpful()
BeHelpful gets the LogSet to print debugging output
func (*LogSet) BeQuiet ¶
func (ls *LogSet) BeQuiet()
BeQuiet gets the LogSet to discard all its output
func (*LogSet) BeSilent ¶
func (ls *LogSet) BeSilent()
BeSilent not only sets the log level to Error, it also sets console output to Discard .Note that as implemented, console output cannot be recovered - it's assumed that BeSilent will be called once per execution.
func (*LogSet) BeTerse ¶
func (ls *LogSet) BeTerse()
BeTerse gets the LogSet to print debugging output
func (LogSet) Child ¶
func (ls LogSet) Child(name string, context ...EachFielder) LogSink
Child produces a child logset, namespaced under "name".
func (LogSet) ClearCounter ¶
ClearCounter implements part of LogSink on LogSet
func (LogSet) DecCounter ¶
DecCounter implements part of LogSink on LogSet
func (LogSet) Done ¶
func (ls LogSet) Done()
Done signals that the LogSet (as a MetricsSink) is done being used - LogSet's current implementation treats this as a no-op but c.f. MetricsSink. xxx noop until extracted a metrics sink
func (LogSet) ExpHandler ¶
ExpHandler returns an http.Handler to export metrics registered with this LogSet. panics if the LogSet hasn't been set up with metrics yet.
func (LogSet) ExtraConsole ¶
func (ls LogSet) ExtraConsole() WriteDoner
ExtraConsole implements LogSink on LogSet
func (LogSet) Fields ¶
func (ls LogSet) Fields(items []EachFielder)
Fields implements LogSink on LogSet.
func (LogSet) ForceDefer ¶
ForceDefer returns false to register the "normal" behavior of LogSet.
func (LogSet) GetCounter ¶
GetCounter returns a counter so that components can count things.
func (LogSet) GetUpdater ¶
GetUpdater returns an updater that records both the immediate value and a decaying sample.
func (LogSet) HasMetrics ¶
HasMetrics indicates whether this LogSet has been configured with metrics
func (LogSet) IncCounter ¶
IncCounter implements part of LogSink on LogSet
func (LogSet) Metrics ¶
func (ls LogSet) Metrics() MetricsSink
Metrics returns a MetricsSink, which can receive various metrics related method calls. (c.f) LogSet.Metrics returns itself - xxx quickie for providing metricssink
func (LogSet) UpdateSample ¶
UpdateSample implements part of LogSink on LogSet
func (LogSet) UpdateTimer ¶
UpdateTimer implements part of LogSink on LogSet
type LogSink ¶
type LogSink interface { // Child returns a namespaced child, with a set of EachFielders for context. Child(name string, context ...EachFielder) LogSink // Fields is used to record the name/value fields of a structured message. Fields([]EachFielder) // Metrics returns a MetricsSink, which will be used to record MetricsMessages. Metrics() MetricsSink // Console returns a WriteDoner, which will be used to record ConsoleMessages. Console() WriteDoner // ExtraConsole returns a WriteDoner, which will be used to record ExtraConsoleMessages. ExtraConsole() WriteDoner // AtExit() does last-minute cleanup of stuff AtExit() // ForceDefer is used during testing to suspend the "panic during testing" behavior. ForceDefer() bool }
A LogSink can be used in Deliver to send messages for logging.
type LogSinkController ¶
type LogSinkController struct { *spies.Spy Metrics metricsSinkController Console writeDonerController }
LogSinkController allows testing code to manipulate and inspect the spies returned by NewLogSinkSpy
func (LogSinkController) DumpLogs ¶
func (lsc LogSinkController) DumpLogs(t *testing.T)
DumpLogs logs each logged message to the LogSinkSpy Useful in integration tests to see what was logged
type MemResourceField ¶
type MemResourceField int64
MemResourceField is a specialization of float64 to handle details of ELK.
func (MemResourceField) EachField ¶
func (f MemResourceField) EachField(fn FieldReportFn)
EachField implements EachFielder on CPUResourceField.
type MessageField ¶
type MessageField string
A MessageField is a quick wrapper for string with EachField.
func (MessageField) EachField ¶
func (m MessageField) EachField(fn FieldReportFn)
EachField implements EachFielder on MessageField.
func (MessageField) String ¶
func (m MessageField) String() string
type MessageInterval ¶
type MessageInterval struct {
// contains filtered or unexported fields
}
A MessageInterval is used where messages refer to an event that spans an interval of time.
func CompleteInterval ¶
func CompleteInterval(start time.Time) MessageInterval
CompleteInterval returns and interval that closes at the time of call.
func NewInterval ¶
func NewInterval(start, end time.Time) MessageInterval
NewInterval allows callers to completely specify start and end times.
func OpenInterval ¶
func OpenInterval(start time.Time) MessageInterval
OpenInterval returns "the beginning" of an interval - on which hasn't completed yet.
func (MessageInterval) Complete ¶
func (i MessageInterval) Complete() bool
Complete queries whether the interval is closed - in other words: does it have an end time?
func (MessageInterval) EachField ¶
func (i MessageInterval) EachField(fn FieldReportFn)
EachField implements eachFielder on MessageInterval. In general, messages that include a MessageInterval should pass the FieldReportFn they receive on their own EachField to their interval.
func (MessageInterval) TimeMetric ¶
func (i MessageInterval) TimeMetric(name string, sink MetricsSink)
TimeMetric records a duration metric for this interval if it's complete.
type MetricsMessage ¶
type MetricsMessage interface {
MetricsTo(MetricsSink)
}
A MetricsMessage has metrics data to record (c.f. Deliver)
type MetricsSink ¶
type MetricsSink interface { ClearCounter(name string) IncCounter(name string, amount int64) DecCounter(name string, amount int64) UpdateTimer(name string, dur time.Duration) UpdateTimerSince(name string, time time.Time) UpdateSample(name string, value int64) Done() }
A MetricsSink is passed into a MetricsMessage's MetricsTo(), so that the it can record its metrics. Once done, the Done method is called - if the metrics are incomplete or insistent, the MetricsSink can then report errors. xxx this facility is preliminary, and Sous doesn't yet record these errors.
func NewMetricsSpy ¶
func NewMetricsSpy() (MetricsSink, metricsSinkController)
Returns a spy/controller pair
type OTLName ¶
type OTLName string
const ( ActiveresourceOutgoingRequestV1 OTLName = "activeresource-outgoing-request-v1" AttributionServiceApplicationV1 OTLName = "attribution-service-application-v1" AttributionServiceBeginRequestV1 OTLName = "attribution-service-begin-request-v1" AttributionServiceFirstByteV1 OTLName = "attribution-service-first-byte-v1" AttributionServiceRequestV1 OTLName = "attribution-service-request-v1" AuthServerV1 OTLName = "auth-server-v1" AutocompleteSearchV1 OTLName = "autocomplete-search-v1" AvailabilitymeasurementsApplication OTLName = "availabilitymeasurements-application" AvailabilityServiceApplicationV1 OTLName = "availability-service-application-v1" AvailabilityServiceRequestV1 OTLName = "availability-service-request-v1" AvstoreServiceApplicationV1 OTLName = "avstore-service-application-v1" BillingengineV1 OTLName = "billingengine-v1" BookingFlowReservationServiceErrV1 OTLName = "booking-flow-reservation-service-err-v1" CallStackV1 OTLName = "call-stack-v1" ChatEndpointV2 OTLName = "chat-endpoint-v2" ChatLogV2 OTLName = "chat-log-v2" ChatMessageV2 OTLName = "chat-message-v2" ChatRequestV2 OTLName = "chat-request-v2" CommandV1 OTLName = "command-v1" ConnectInstantAlertsBaseV1 OTLName = "connect-instant-alerts-base-v1" ConnectInstantAlertsComposerMessage OTLName = "connect-instant-alerts-composer-message" ConnectInstantAlertsFilterMessage OTLName = "connect-instant-alerts-filter-message" ConnectInstantAlertsReservationState OTLName = "connect-instant-alerts-reservation-state" ConnectInstantAlertsSubscription OTLName = "connect-instant-alerts-subscription" ConsapiApplicationCommon OTLName = "consapi-application-common" ConsapiApplicationV1 OTLName = "consapi-application-v1" ConsapiRequestV1 OTLName = "consapi-request-v1" CsharpLegacyLoggingV1 OTLName = "csharp-legacy-logging-v1" CuisinesServiceApplicationV1 OTLName = "cuisines-service-application-v1" CuisinesServiceRequestV1 OTLName = "cuisines-service-request-v1" CwbApplication OTLName = "cwb-application" DatamartApplication OTLName = "datamart-application" DatasourcesCoversApiRequestV1Access OTLName = "datasources-covers-api-request-v1-access" DatasourcesCoversApiRequestV1Msg OTLName = "datasources-covers-api-request-v1-msg" DatasyncExceptionV3 OTLName = "datasync-exception-v3" DatasyncTaskinformationV4 OTLName = "datasync-taskinformation-v4" DatasyncV1 OTLName = "datasync-v1" DevicenotificationApplicationV2 OTLName = "devicenotification-application-v2" DevicenotificationPushresultV2 OTLName = "devicenotification-pushresult-v2" DevicenotificationPushsentV2 OTLName = "devicenotification-pushsent-v2" DevicenotificationRequestV2 OTLName = "devicenotification-request-v2" DffExceptionV1 OTLName = "dff-exception-v1" DffOutboundV1 OTLName = "dff-outbound-v1" DffRequestV1 OTLName = "dff-request-v1" DiscoveryAnnouncementV1 OTLName = "discovery-announcement-v1" DisputeNoShowMicrositeApplicationV1 OTLName = "dispute-no-show-microsite-application-v1" DisputeNoShowMicrositeRequestV1 OTLName = "dispute-no-show-microsite-request-v1" DomainsApiMsgV1 OTLName = "domains-api-msg-v1" DomainsApiRequestV1 OTLName = "domains-api-request-v1" DotnetCommonV1 OTLName = "dotnet-common-v1" DotnetCoreOtLoggerHttpRequestV1 OTLName = "dotnet-core-ot-logger-http-request-v1" EmailApplication OTLName = "email-application" ExternalApiCcRequestV3 OTLName = "external-api-cc-request-v3" ExternalApiRequestV8 OTLName = "external-api-request-v8" ForgetmenotApplicationV2 OTLName = "forgetmenot-application-v2" ForgetmenotDeliveryV2 OTLName = "forgetmenot-delivery-v2" ForgetmenotDiscoveryV2 OTLName = "forgetmenot-discovery-v2" ForgetmenotQueuemetricsV2 OTLName = "forgetmenot-queuemetrics-v2" ForgetmenotRequestV2 OTLName = "forgetmenot-request-v2" ForgetmenotVitalsV2 OTLName = "forgetmenot-vitals-v2" FreetextSearchV1 OTLName = "freetext-search-v1" FreetextSearchV2 OTLName = "freetext-search-v2" FrontdoorRequestV1 OTLName = "frontdoor-request-v1" GcapsHarnessApplicationMessageV1 OTLName = "gcaps-harness-application-message-v1" GcBackofficeApiClientTimingV1 OTLName = "gc-backoffice-api-client-timing-v1" GcBackofficeApiCommonV1 OTLName = "gc-backoffice-api-common-v1" GcBackofficeApiMessageV1 OTLName = "gc-backoffice-api-message-v1" GcBackofficeApiRequestBeginV1 OTLName = "gc-backoffice-api-request-begin-v1" GcBackofficeApiRequestCommonV1 OTLName = "gc-backoffice-api-request-common-v1" GcBackofficeApiRequestEndV1 OTLName = "gc-backoffice-api-request-end-v1" GcBackofficeWebCommonV1 OTLName = "gc-backoffice-web-common-v1" GcBackofficeWebMessageV1 OTLName = "gc-backoffice-web-message-v1" GcBackofficeWebRequestBeginV1 OTLName = "gc-backoffice-web-request-begin-v1" GcBackofficeWebRequestCommonV1 OTLName = "gc-backoffice-web-request-common-v1" GcBackofficeWebRequestEndV1 OTLName = "gc-backoffice-web-request-end-v1" GcbeApplicationCommon OTLName = "gcbe-application-common" GcbeApplication OTLName = "gcbe-application" GcbeCommon OTLName = "gcbe-common" GcbeDeploy OTLName = "gcbe-deploy" GcbeDomainFields OTLName = "gcbe-domain-fields" GcbeRequestCommon OTLName = "gcbe-request-common" GcbeRequestEntrance OTLName = "gcbe-request-entrance" GcbeRequestWithResponse OTLName = "gcbe-request-with-response" GcConnectWebMessageV1 OTLName = "gc-connect-web-message-v1" GcConnectWebRequestV1 OTLName = "gc-connect-web-request-v1" GcFohMobileWebMessageV1 OTLName = "gc-foh-mobile-web-message-v1" GcFohMobileWebRequestV1 OTLName = "gc-foh-mobile-web-request-v1" GcFohWebMessageV1 OTLName = "gc-foh-web-message-v1" GcFohWebRequestV1 OTLName = "gc-foh-web-request-v1" GcWebCommonV1 OTLName = "gc-web-common-v1" GcwebDbSanityChecker OTLName = "gcweb-db-sanity-checker" GlobalRequiredV1 OTLName = "global-required-v1" GraphqlApiRequestV1 OTLName = "graphql-api-request-v1" HarnessApplicationMessageV1 OTLName = "harness-application-message-v1" HarnessCommonV1 OTLName = "harness-common-v1" HarnessOutgoingV1 OTLName = "harness-outgoing-v1" HarnessRequestWithoutResponseV1 OTLName = "harness-request-without-response-v1" HarnessRequestWithResponseV1 OTLName = "harness-request-with-response-v1" HermesBaseV1 OTLName = "hermes-base-v1" HermesConversionEventV1 OTLName = "hermes-conversion-event-v1" HermesMsgV1 OTLName = "hermes-msg-v1" HermesRequestV1 OTLName = "hermes-request-v1" HermesSyncErrorV1 OTLName = "hermes-sync-error-v1" HermesSyncSubmitAttemptV1 OTLName = "hermes-sync-submit-attempt-v1" HermesSyncV1 OTLName = "hermes-sync-v1" HttpHeadersV1 OTLName = "http-headers-v1" HttpResponseV1 OTLName = "http-response-v1" HttpV1 OTLName = "http-v1" InventoryApplication OTLName = "inventory-application" LocationApiRequestV2 OTLName = "location-api-request-v2" LoyaltyMsgV1 OTLName = "loyalty-msg-v1" LoyaltyStateTransitionV1 OTLName = "loyalty-state-transition-v1" MaintenanceApplication OTLName = "maintenance-application" MercuryErrorV1 OTLName = "mercury-error-v1" MercuryInfoV1 OTLName = "mercury-info-v1" MesosMasterV1 OTLName = "mesos-master-v1" MobileRestV1 OTLName = "mobile-rest-v1" MobileWebCommonV1 OTLName = "mobile-web-common-v1" MobileWebDebugV1 OTLName = "mobile-web-debug-v1" MobileWebExceptionV1 OTLName = "mobile-web-exception-v1" MobileWebFrontendMsg OTLName = "mobile-web-frontend-msg" MobileWebHttpRequestV1 OTLName = "mobile-web-http-request-v1" MobileWebServiceExceptionV1 OTLName = "mobile-web-service-exception-v1" MongoQueryV1 OTLName = "mongo-query-v1" MsgV1 OTLName = "msg-v1" MsgWithCallStackV1 OTLName = "msg-with-call-stack-v1" NetworkF5V1 OTLName = "network-f5-v1" NetworkFirewallV1 OTLName = "network-firewall-v1" NetworkV1 OTLName = "network-v1" NodejsBaseV1 OTLName = "nodejs-base-v1" NodejsHapiBaseRequestV1 OTLName = "nodejs-hapi-base-request-v1" NodejsIncomingRequestError OTLName = "nodejs-incoming-request-error" NodejsIncomingRequestV1 OTLName = "nodejs-incoming-request-v1" NodejsLogErrorV1 OTLName = "nodejs-log-error-v1" NodejsLogLineV1 OTLName = "nodejs-log-line-v1" NodejsOtLoggerHttpRequestV1 OTLName = "nodejs-ot-logger-http-request-v1" NodejsOtRequestHttpOutgoingV1 OTLName = "nodejs-ot-request-http-outgoing-v1" NodejsOutgoingRequestV1 OTLName = "nodejs-outgoing-request-v1" NodejsPauseTimeV1 OTLName = "nodejs-pause-time-v1" NodejsRequestBaseV1 OTLName = "nodejs-request-base-v1" NodejsRequestSearch OTLName = "nodejs-request-search" NoshowApiApplicationV1 OTLName = "noshow-api-application-v1" NoshowApiRequestV1 OTLName = "noshow-api-request-v1" OcComponentJsEventV1 OTLName = "oc-component-js-event-v1" OcCoreDataMsgV1 OTLName = "oc-core-data-msg-v1" OcCoreDataRequestV1 OTLName = "oc-core-data-request-v1" OcRegistryBase OTLName = "oc-registry-base" OcRegistryComponentRetrieved OTLName = "oc-registry-component-retrieved" OcRegistryEvent OTLName = "oc-registry-event" OcRegistryRequest OTLName = "oc-registry-request" OcReviewsComponentInfoV1 OTLName = "oc-reviews-component-info-v1" OcReviewsComponentsErrorV1 OTLName = "oc-reviews-components-error-v1" OcReviewsComponentsParamsV1 OTLName = "oc-reviews-components-params-v1" OtGoLibHelperHtmlV1 OTLName = "ot-go-lib-helper-html-v1" OtGoLibHelperV1 OTLName = "ot-go-lib-helper-v1" OtRailsResponseV1 OTLName = "ot-rails-response-v1" OtRailsSidekiqJobV1 OTLName = "ot-rails-sidekiq-job-v1" OtV1 OTLName = "ot-v1" PersonalizerIndexerApplicationV1 OTLName = "personalizer-indexer-application-v1" PersonalizerServerApplicationAutocompleteV1 OTLName = "personalizer-server-application-autocomplete-v1" PersonalizerServerApplicationV1 OTLName = "personalizer-server-application-v1" PersonalizerServerRequestExceptionV1 OTLName = "personalizer-server-request-exception-v1" PersonalizerServerRequestV1 OTLName = "personalizer-server-request-v1" PhotocenterApplicationV1 OTLName = "photocenter-application-v1" PhotoResizerApplicationV1 OTLName = "photo-resizer-application-v1" PhotoServiceApplicationV1 OTLName = "photo-service-application-v1" PinsLogLineV1 OTLName = "pins-log-line-v1" PinsMsgV1 OTLName = "pins-msg-v1" PointsApiRequestV1 OTLName = "points-api-request-v1" PointsSyncServiceApplicationV1 OTLName = "points-sync-service-application-v1" PremiumTableV1 OTLName = "premium-table-v1" PrivateDiningAdminServiceApplicationV1 OTLName = "private-dining-admin-service-application-v1" PromoAdminApplicationV2 OTLName = "promo-admin-application-v2" PromoAdminExceptionV2 OTLName = "promo-admin-exception-v2" PromoAdminRequestV2 OTLName = "promo-admin-request-v2" PromoApplicationV3 OTLName = "promo-application-v3" PromoRequestV3 OTLName = "promo-request-v3" PromotedofferAdminApiRequestV1 OTLName = "promotedoffer-admin-api-request-v1" PromotedofferAdminBaseV1 OTLName = "promotedoffer-admin-base-v1" PromotedofferAdminDatasyncTaskexceptionV1 OTLName = "promotedoffer-admin-datasync-taskexception-v1" PromotedofferAdminDatasyncTaskinfoV1 OTLName = "promotedoffer-admin-datasync-taskinfo-v1" PromotedofferApiApplicationV1 OTLName = "promotedoffer-api-application-v1" PuppetserverV1 OTLName = "puppetserver-v1" ReachabilityServiceApplicationV1 OTLName = "reachability-service-application-v1" ReflowApplication OTLName = "reflow-application" RelatedListingsApiRequestV1 OTLName = "related-listings-api-request-v1" RequestBookingsLbstatusV1 OTLName = "request-bookings-lbstatus-v1" RequestBookingsModifyBookingV1 OTLName = "request-bookings-modify-booking-v1" RequestBookingsRequestV1 OTLName = "request-bookings-request-v1" RequestBookingsSalesforceV1 OTLName = "request-bookings-salesforce-v1" RequestBookingsServiceStatusV1 OTLName = "request-bookings-service-status-v1" ReservationPublisherApplicationV1 OTLName = "reservation-publisher-application-v1" ReservationpublisherApplicationV2 OTLName = "reservationpublisher-application-v2" ReservationpublisherRequestV2 OTLName = "reservationpublisher-request-v2" ReservationreminderApplicationV2 OTLName = "reservationreminder-application-v2" ReservationreminderRequestV2 OTLName = "reservationreminder-request-v2" ReservationServiceApplicationV1 OTLName = "reservation-service-application-v1" ReservationServiceRequestV1 OTLName = "reservation-service-request-v1" ReservationUpdateServiceApplicationV1 OTLName = "reservation-update-service-application-v1" ReservationUpdateServiceRequestV1 OTLName = "reservation-update-service-request-v1" ResourceLocatorApplicationV1 OTLName = "resource-locator-application-v1" ResourceLocatorRequestV1 OTLName = "resource-locator-request-v1" RestaurantAdminApplicationV1 OTLName = "restaurant-admin-application-v1" RestaurantAdminRequestV1 OTLName = "restaurant-admin-request-v1" RestaurantApiApplicationV1 OTLName = "restaurant-api-application-v1" RestaurantEventPublisherApplicationV1 OTLName = "restaurant-event-publisher-application-v1" RestaurantMessagesApiMsgV1 OTLName = "restaurant-messages-api-msg-v1" RestaurantMessagesApiRequestV1 OTLName = "restaurant-messages-api-request-v1" RestaurantMessagesGeneratorApiMsgV1 OTLName = "restaurant-messages-generator-api-msg-v1" RestaurantMessagesGeneratorApiRequestV1 OTLName = "restaurant-messages-generator-api-request-v1" RestaurantSurveyApplicationV1 OTLName = "restaurant-survey-application-v1" RestaurantSurveyRequestV1 OTLName = "restaurant-survey-request-v1" RestaurantSyncServiceApplicationV1 OTLName = "restaurant-sync-service-application-v1" RestrefFrontendMsgV1 OTLName = "restref-frontend-msg-v1" ReviewsApiExceptionV1 OTLName = "reviews-api-exception-v1" ReviewsApiRequestV1 OTLName = "reviews-api-request-v1" ReviewsLog4netExceptionV1 OTLName = "reviews-log4net-exception-v1" ReviewsReportsV1 OTLName = "reviews-reports-v1" ReviewsTasksApplicationV1 OTLName = "reviews-tasks-application-v1" ReviewsTasksOutboundV1 OTLName = "reviews-tasks-outbound-v1" RspDataCollectorApplicationV1 OTLName = "rsp-data-collector-application-v1" SalesforceInternalServiceApplicationV1 OTLName = "salesforce-internal-service-application-v1" SalesforceProxyServiceApplicationV1 OTLName = "salesforce-proxy-service-application-v1" SalesforceProxyServiceRequestV1 OTLName = "salesforce-proxy-service-request-v1" SearchResultsV1 OTLName = "search-results-v1" SearchV1 OTLName = "search-v1" SensuEventLogsV3 OTLName = "sensu-event-logs-v3" ServiceTaxcalculationApplicationV1 OTLName = "service-taxcalculation-application-v1" ServiceTaxcalculationRequestV1 OTLName = "service-taxcalculation-request-v1" SidecarCaptainV1 OTLName = "sidecar-captain-v1" SidecarClientRemoteMessageV1 OTLName = "sidecar-client-remote-message-v1" SousCacheMessageV1 OTLName = "sous-cache-message-v1" SousCliV1 OTLName = "sous-cli-v1" SousDeploymentDiff OTLName = "sous-deployment-diff" SousDeploymentV1 OTLName = "sous-deployment-v1" SousDiffResolution OTLName = "sous-diff-resolution" SousErrorV1 OTLName = "sous-error-v1" SousGenericV1 OTLName = "sous-generic-v1" SousGraphiteConfigV1 OTLName = "sous-graphite-config-v1" SousHttpV1 OTLName = "sous-http-v1" SousIntervalV1 OTLName = "sous-interval-v1" SousKafkaConfigV1 OTLName = "sous-kafka-config-v1" SousPollingSubresultV1 OTLName = "sous-polling-subresult-v1" SousRectifierSingularityV1 OTLName = "sous-rectifier-singularity-v1" SousResolutionResultV1 OTLName = "sous-resolution-result-v1" SousResolveFilterV1 OTLName = "sous-resolve-filter-v1" SousSql OTLName = "sous-sql" SousStatusPollingV1 OTLName = "sous-status-polling-v1" SousUniversalV1 OTLName = "sous-universal-v1" SousUpdateV1 OTLName = "sous-update-v1" SyncProxyApplicationV1 OTLName = "sync-proxy-application-v1" SyncProxyFieldsV1 OTLName = "sync-proxy-fields-v1" SyncProxyRequestV1 OTLName = "sync-proxy-request-v1" Testing OTLName = "testing" TextModerationServiceV1 OTLName = "text-moderation-service-v1" TicketingExperienceCrud OTLName = "ticketing-experience-crud" TicketingTransactionExternalServiceRequest OTLName = "ticketing-transaction-external-service-request" TicketingTransactionRequestLog OTLName = "ticketing-transaction-request-log" TimerV1 OTLName = "timer-v1" TimezoneApiCommonV1 OTLName = "timezone-api-common-v1" TimezoneApiMessageV1 OTLName = "timezone-api-message-v1" TimezoneApiRequestBeginV1 OTLName = "timezone-api-request-begin-v1" TimezoneApiRequestCommonV1 OTLName = "timezone-api-request-common-v1" TimezoneApiRequestEndV1 OTLName = "timezone-api-request-end-v1" TimezonesApiMsgV1 OTLName = "timezones-api-msg-v1" TimezonesApiRequestV1 OTLName = "timezones-api-request-v1" TmsApiExceptionV1 OTLName = "tms-api-exception-v1" TmsApiV1 OTLName = "tms-api-v1" TmsArchiverV1 OTLName = "tms-archiver-v1" TmsCommonV1 OTLName = "tms-common-v1" TmsComposerV1 OTLName = "tms-composer-v1" TmsDispatcherV1 OTLName = "tms-dispatcher-v1" TmsEventExceptionV1 OTLName = "tms-event-exception-v1" TmsExceptionV1 OTLName = "tms-exception-v1" TmsIrisApplicationV1 OTLName = "tms-iris-application-v1" TmsIrisRequestV1 OTLName = "tms-iris-request-v1" TmsMessageQueueV1 OTLName = "tms-message-queue-v1" TmsOcComponentsV1 OTLName = "tms-oc-components-v1" TmsOutgoingRequestV1 OTLName = "tms-outgoing-request-v1" TmsPingV1 OTLName = "tms-ping-v1" TmsRequeueTicketsTaskV1 OTLName = "tms-requeue-tickets-task-v1" TmsReservationDetailsV1 OTLName = "tms-reservation-details-v1" TmsReservationReconfirmationV1 OTLName = "tms-reservation-reconfirmation-v1" TmsSenderServiceCoreApplicationV1 OTLName = "tms-sender-service-core-application-v1" TmsSenderServiceCoreRequestV1 OTLName = "tms-sender-service-core-request-v1" TmsSenderV1 OTLName = "tms-sender-v1" TmsSgeventsV1 OTLName = "tms-sgevents-v1" TmsSyncTaskV1 OTLName = "tms-sync-task-v1" UberTripExperiencesApplicationV1 OTLName = "uber-trip-experiences-application-v1" UberTripExperiencesRequestV1 OTLName = "uber-trip-experiences-request-v1" UmamiPartnerServiceV1 OTLName = "umami-partner-service-v1" UserauthenticationApplicationV3 OTLName = "userauthentication-application-v3" UserauthenticationCallmetricsV3 OTLName = "userauthentication-callmetrics-v3" UserauthenticationRequestV3 OTLName = "userauthentication-request-v3" UserauthenticationTokenvalidationV3 OTLName = "userauthentication-tokenvalidation-v3" UserServiceApplicationV1 OTLName = "user-service-application-v1" UserServiceRequestV1 OTLName = "user-service-request-v1" UserSiteCommonV1 OTLName = "user-site-common-v1" UserSiteExceptionV1 OTLName = "user-site-exception-v1" UserSiteHttpRequestV1 OTLName = "user-site-http-request-v1" UserSyncServiceApplicationV1 OTLName = "user-sync-service-application-v1" VenueApplication OTLName = "venue-application" WebsiteObiComV1 OTLName = "website-obi-com-v1" )
func (OTLName) EachField ¶
func (n OTLName) EachField(f FieldReportFn)
EachField implements EachFielder on OTLName.
type OldLogMessage ¶
type OldLogMessage interface { // The severity level of this message, potentially (in the future) manipulated // by dynamic rules. DefaultLevel() Level // A simple textual message describing the logged event. Usually hardcoded (or almost so.) Message() string }
OldLogMessage captures a deprecated interface prefer instead to use EachFielder and include Severity and Message fields. Don't do both though; make a clean break with this interface.
type Submessage ¶
type Submessage interface { EachFielder LevelRecommender }
Submessage is not a complete message on its own
type ToConsole ¶
type ToConsole struct {
// contains filtered or unexported fields
}
ToConsole allows quick creation of Console messages.
func Console ¶
func Console(m interface{}) ToConsole
Console marks a string as being suitable for console output.
func (ToConsole) WriteToConsole ¶
WriteToConsole implements ConsoleMessage on ToConsole.
type Updater ¶
type Updater interface {
Update(int64)
}
Updater is a generalization of write-only metrics - integers that can be set. e.g. simple gauges or analyzed samples etc.
type WriteDoner ¶
WriteDoner is like a WriteCloser, but the Done message also asserts that something useful was written After a console message has been written, the Done method is called, so that the WriteDoner can report about badly formed or missing console messages. xxx this facility is preliminary, and Sous doesn't yet record these errors.
func NewWriteDonerSpy ¶
func NewWriteDonerSpy() (WriteDoner, writeDonerController)
NewWriteDonerSpy returns a spy/controller pair for WriteDoner
Source Files ¶
- applicationid.go
- callerinfo.go
- config.go
- ergonomics.go
- errors.go
- fields.go
- fieldspecializations.go
- graphiteconfigmessage.go
- graphiteerror.go
- interval.go
- kafkaconfigurationmessage.go
- kafkasenderrormessage.go
- kafkasink.go
- level.go
- level_string.go
- logconfigurationwarning.go
- logging.go
- messages.go
- metrics.go
- msg.go
- otls.go
- silentmessageerror.go
- strayfields.go
- structured.go
- terseformatter.go
- testsupport.go