Хотя основные библиотеки log4j и slf4j поставляются с множеством полезных вещей, и я мог бы создать свою собственную, но мне было интересно, есть ли какие-нибудь библиотеки, которые поставляются с интересными приложениями.
Большинство приложений, кажется,быть мостами, обеспечивающими некоторую связь с конкретной службой, такой как отправка сообщений по электронной почте или обновление журнала событий NT.Я имею в виду логгеры, которые более абстрактны и не похожи на промежуточное ПО, но одинаково полезны для наблюдателей живой системы.
Сумасшедшая идея приложения, которое, я думаю, может быть полезным
Ведение журнала часто полезно, но может быть затруднено из-за большого количества сообщений, которые действительно не нужны, потому что связанный запрос успешно завершен.У меня была одна идея: не будет полезно записывать в журнал только те сообщения http, которые выдают какое-то исключение во время обработки.Если запрос не сработал, то ничего не будет добавлено в журнал.Естественно, такого рода приложениям потребуется что-то, что поможет контролировать это.
BufferControl {
FLUSH_NOW, // flush everything now in the buffer
FLLUSH, // flush everything when BufferingLogger.commit() is called.
CLEAR, // clear everything before
CLEAR_ALL; /// all past and future messages are ignored
IGNORE_AFTER; // ignore messages after this event.
IGNORE_BEFORE, // ignore messages before
CONTINUE, // just continue...
etc etc..
}
// implements could tell the bufferingappender to log messages because some exception was thrown etc.
LoggingEventWatcher {
BufferControl look(LoggingEvent, BufferingAppender);
}
// every logging event is passed to the logging event watcher which
BufferingAppender {
start();
reset(); // throw away everything in the buffer
commit(); // use returned BufferControl to flush or reset etc.
flush(); // unconditionally flush all messages now.
}
Представьте себе, если бы можно было регистрировать все сообщения, только если было зарегистрировано определенное исключение.Контроллер понадобился бы для того, чтобы отметить начало транзакции регистрации, а также очистить или очистить в зависимости от некоторых условий.
Естественно, для сброса буфера и т. Д. Понадобятся некоторые смарты.