шаблон log4cxx %l
выведет имя исходного файла и его путь к журналу, что делает его неудобным для чтения, если исходный файл находится в глубоком каталоге, когда компилируется с абсолютным путем.
2012-11-20 15:59:14,184 0x7f7ae90e27c0 TRACE fogs.common (/home/jw/fogs/d_common/net/inc/amf3conn.hpp:158) - Entering setCallbackObjBuffer
есть ли способ вывести только amf3conn.hpp:158
в журнале, чтобы сократить строку журнала?
Я не думаю, что это возможно из коробки. Согласно API документы, Вы можете использовать либо %l
или же %F
, но %F
только сбрасывает номер строки и по-прежнему печатает путь.
У вас есть два альтернативных варианта:
PatternLayout
и реализовать собственную обработку преобразования местоположения, отбрасывая путь и используя только имя файла%.20l
что приведет к inc/amf3conn.hpp:158
в твоем случае. Если вы выберете длину самого длинного имени исходного файла, вы получите полное имя файла в любом случае (возможно, с предваряющей частью пути)Других решений пока нет …