docs(logger): document thread safety limitations
This commit is contained in:
@@ -65,6 +65,11 @@ public:
|
||||
* При ошибке открытия файла или записи возвращается Status
|
||||
* с описанием ошибки.
|
||||
*
|
||||
* @warning Класс Logger не является потокобезопасным.
|
||||
* Одновременный вызов данного метода из нескольких потоков
|
||||
* для одного и того же экземпляра Logger или одного файла журнала
|
||||
* может привести к неопределённому порядку записей.
|
||||
*
|
||||
* @param level Уровень логирования сообщения.
|
||||
* @param message Текст сообщения.
|
||||
*
|
||||
@@ -81,6 +86,11 @@ public:
|
||||
* writeMessage(getLogLevel(), message);
|
||||
* @endcode
|
||||
*
|
||||
* @warning Класс Logger не является потокобезопасным.
|
||||
* Одновременный вызов данного метода из нескольких потоков
|
||||
* для одного и того же экземпляра Logger или одного файла журнала
|
||||
* может привести к неопределённому порядку записей.
|
||||
*
|
||||
* @param message Текст сообщения.
|
||||
*
|
||||
* @return Статус выполнения операции.
|
||||
|
||||
@@ -85,6 +85,8 @@ void testMultipleWrites() {
|
||||
|
||||
Logger logger(file.getFileName(), LogLevel::info());
|
||||
|
||||
// NOTE: Ресурс файла был автоматически освобождён после первого вызова,
|
||||
// поэтому следующий вызов может повторно открыть файл для записи
|
||||
auto first = logger.writeMessage(LogLevel::info(), "first message");
|
||||
|
||||
auto second = logger.writeMessage(LogLevel::error(), "second message");
|
||||
|
||||
Reference in New Issue
Block a user