Мы смотрим на переход к log4j из исходной структуры ведения журнала (с 90-х годов), и у меня возникли проблемы с настройкой шаблона в соответствии с существующими журналами.log4j PatternLayout с момента последнего журнала
Мы выводим каждую строку журнала время, прошедшее с предыдущей строки журнала. Это часто помогает нам определить, где задержка находится в клиентской системе без каких-либо вычислений. Я не могу понять, как это сделать без написания совершенно нового макета.
Можно ли это сделать с помощью PatternLayout?
Это будет только удар производительности, если он должен быть абсолютно точным, не так ли? Рамки уже должны прочитать текущее время - для этого потребуется только один длинный номер, который хранится там, что сделает его изменчивым, или AtomicLong сделает его точным, но в противном случае он будет быстрым и почти всегда точным. – mjaggard
@mjaggard: проблема в том, что сообщения должны быть отформатированы в правильном порядке, то же самое достигается дельта времени. Другими словами, меньше или больше ему пришлось бы синхронизировать один процессор, что повлияло бы на масштабируемость. –
Опять же, разве это не важно, если вам нужна точность в миллисекундах. В противном случае данные будут в конечном итоге правильными - и в конечном итоге в этом случае будет очень быстро, потому что это произойдет, как только строка кэша процессора будет записана обратно в основную память? – mjaggard