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

и это сработало сразу.

Другие вопросы по тегам