[#BloombergLP-ball-AsyncFileObserver-publish-0c] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::xref:BloombergLP/ball/AsyncFileObserver.adoc[AsyncFileObserver]::publish :relfileprefix: ../../../ :mrdocs: Process the record referenced by the specified `record` shared pointer having the specified publishing `context` by writing the record and `context` to the current log file if file logging is enabled for this async file observer, and to `stdout` if the severity of `record` is at least as severe as the value returned by `stdoutThreshold`. `record` and `context` are appended to the record queue and published (asynchronously) later by the publication thread. If the queue is full, `record` and `context` are discarded unless the constructor taking `dropRecordsOnFullQueueThreshold` was used; if `dropRecordsOnFullQueueThreshold` was supplied with a `Severity::Level` at construction, `record` and `context` are discarded only if the severity of `record` is below that threshold, otherwise, this method will block waiting until space is available on the queue. See {Log Record Queue} for further information. == Synopsis Declared in `<ball_asyncfileobserver.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- virtual void publish( xref:bsl/shared_ptr-0a.adoc[bsl::shared_ptr<Record const>] const& record, xref:BloombergLP/ball/Context.adoc[Context] const& context) override; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#