Project

General

Profile

Task #4946

[basis][log] Ведение лога для нескольких логгеров

Added by Sergey Smolov about 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Target version:
Start date:
05/22/2014
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Published in build:

Description

В случае, если в Engine используется стандартный логгер, то не нужно создавать для него отдельный *.lck-файл, который сохраняется даже после завершения работы Retrascope.
Сейчас единичный пуск инструмента порождает большое количество *.lck-файлов, не несущих никакой полезной информации.

Все стандартные логгеры должны помещать свои сообщения в общий log-файл, если выставлена соответствующая опция логирования.

Если в Engine используется нестандартный логгер, то сообщения логгера можно сохранять в отдельный файл.

History

#1

Updated by Igor Melnichenko about 5 years ago

Это вызвано тем, что сейчас все логеры проходят через одну и ту же процедуру конфигурирования (соответственно, все они пытаются заблокировать файл с одним именем).
Когда я создавал функцию конфигурирования, я подразумевал, что выполняться она будет только для корневого логера.

#2

Updated by Igor Melnichenko about 5 years ago

Кстати, предлагаю такие изменения архитектуры выносить на обсуждение перед реализацией.

#3

Updated by Igor Melnichenko about 5 years ago

Среди других изменений логирования с момента его введения хочу также обратить внимание на следующее:
название поля private static final Logger LOGGER должно писаться строчными буквами (в соответствии с гугловским стандартом оформления кода);
private static class ShutdownHook extends Thread {
@Override
public void run() {
LOGGER.log(Level.INFO, "Retrascope is shutting down");
}
}

Нет никаких гарантий, что это сообщение будет передано какому-либо обработчику, потому что при выключении программы автоматически вызывается LogManager.reset().

Ещё предлагаю для единообразия все записи в лог обрамлять вызовом isLoggable (но это уже не принципиально).

#4

Updated by Alexander Kamkin about 5 years ago

  • Status changed from New to Resolved

Конфигурируется только корневой логер.
Добавлена опция --log (не проверена).
Писать каждый раз isLoggable плохо.

#5

Updated by Alexander Kamkin about 5 years ago

Igor Melnichenko wrote:

Кстати, предлагаю такие изменения архитектуры выносить на обсуждение перед реализацией.

Архитектура не менялась.

#6

Updated by Alexander Kamkin about 5 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF