Project

General

Profile

Actions

Task #4946

closed

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

Added by Sergey Smolov over 10 years ago. Updated over 10 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 используется нестандартный логгер, то сообщения логгера можно сохранять в отдельный файл.

Actions #1

Updated by Igor Melnichenko over 10 years ago

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

Actions #2

Updated by Igor Melnichenko over 10 years ago

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

Actions #3

Updated by Igor Melnichenko over 10 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 (но это уже не принципиально).

Actions #4

Updated by Alexander Kamkin over 10 years ago

  • Status changed from New to Resolved

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

Actions #5

Updated by Alexander Kamkin over 10 years ago

Igor Melnichenko wrote:

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

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

Actions #6

Updated by Alexander Kamkin over 10 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF