[#BloombergLP-ball-LoggerManager-allocateLogger-0f] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::xref:BloombergLP/ball/LoggerManager.adoc[LoggerManager]::allocateLogger :relfileprefix: ../../../ :mrdocs: Return the address of a modifiable logger managed by this logger manager having the specified `observer` that receives published log records and configured with the specified record `buffer`. Optionally specify a `scratchBufferSize` for the logger's user‐accessible message buffer. If `scratchBufferSize` is not specified, the value configured at construction is used. Note that this method is primarily intended for use in multi‐threaded applications, but can be used to partition logging streams even within a single thread. Also note that ownership of `buffer` and `observer` is _not_ transferred, and hence, will _not_ be destroyed (or otherwise affected) after the logger is deallocated. == Synopsis Declared in `<ball_loggermanager.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/ball/Logger.adoc[Logger]* allocateLogger( xref:BloombergLP/ball/RecordBuffer.adoc[RecordBuffer]* buffer, xref:bsl/shared_ptr-0a.adoc[bsl::shared_ptr<Observer>] const& observer); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#