Как сделать, чтобы log4j регистрировал разные файлы для каждой сессии в веб-проекте Java? - PullRequest
2 голосов
/ 11 февраля 2011

Я пытаюсь отладить проблему, которая возникает на клиентском сайте, это происходит только на клиентском сайте, поэтому я не могу протестировать ее в нашей лабораторной среде, но клиент постоянно использует систему, поэтому количестводанные в лог-файлах огромны.Кроме того, если я переключаю ведение журнала на «Отладка», то объем записи журнала, попадающий в один файл, ставит сервер на колени.

Как мне сделать так, чтобы приложение регистрировало каждый сеанс http в другом файле журнала?Чтобы облегчить загруженность файла и сделать файл журнала более читабельным?

1 Ответ

2 голосов
/ 11 февраля 2011

Диски, как правило, лучше всего работают при последовательной записи / чтении. Запись во многие файлы вместо одного - больше работы для дисков, так как они должны перемещаться между файлами. Я бы не советовал использовать несколько файлов из соображений производительности. Однако может быть полезно иметь возможность отладки ограниченного числа сеансов.

Вы можете создать регистратор для каждого сеанса, включив идентификатор сеанса в имя регистратора для этого сеанса. Затем каждый сеанс может быть записан в другой файл на другом уровне журнала.

Однако вы, вероятно, обнаружите, что для этого уровня контроля вы хотите, чтобы вы сами записывали файлы и контролировали их поведение более тщательно. например запись в файл GZIP может значительно сократить количество операций ввода-вывода.

...