Log4r и бензопила: сбор дополнительных данных журнала сообщений (номер строки и т. Д.)?
Я использую Log4r XML форматер Log4r для общения с Chainsaw, как описано здесь в руководстве для Log4r. Тем не менее, в основном все, что я получаю, это уровень сообщений и предупреждений - я не получаю дополнительных подробностей, которые, кажется, показаны там.
Вот контекст, в котором я его использую, который мне кажется очень похожим на их (заметьте, я также использую их пример файла конфигурации Chainsaw без изменений):
@log = Log4r::Logger.new "#{self.class.name}"
log4jformat = Log4r::Log4jXmlFormatter.new
hostname = opts[:chainsaw_hostname] || DEFAULT_CHAINSAW_HOST
port = opts[:chainsaw_port] || DEFAULT_CHAINSAW_PORT
udpout = Log4r::UDPOutputter.new 'udp', :hostname => hostname, :port => port
udpout.formatter = log4jformat
@log.outputters = [udpout]
@log.debug 'this is a message with level debug'
Есть предложения по этому поводу? Снова я вижу, как появляются сообщения, просто к ним не прикреплены дополнительные детали, такие как класс / метод / строка, где произошло событие журнала.
1 ответ
Решение
Вы должны явно включить трассировку, чтобы это работало. Я просто должен был добавить строку:
@log.trace = true
и это сработало сразу.