2015-12-23 3 views
0

Прямо сейчас, я использую log4r для регистратора в Rails для печати имя файла и номер строки:Ruby On Rails имя файла журнала и номер строки

======== config/log4r.yml ======== 

log4r_config: 
    # define all loggers: 
    loggers: 
    - name   : rails 
     level   : DEBUG 
     trace   : 'true' 
     outputters : 
     - console 

    # define all outputters (incl. formatters) 
    outputters: 
    - type: StdoutOutputter 
    name: console 
    formatter: 
     date_pattern: '%Y-%m-%d %H:%M:%S' 
     pattern  : '%d %l %t : %m' 
     type  : PatternFormatter 

Однако он печатает путь к файлу вместо имени файла, и это слишком долго :

2015-12-23 18:05:37 INFO /Users/fudy/Workspace/RubyWorkspace/HelloWorld/app/controllers/welcome_controller.rb:3: in `index' : hello 

Но я хочу этот формат:

2015-12-23 18:05:37 INFO welcome_controller.rb:3: hello 

есть ли решение?

+0

Вы уверены, что это шаблон, который вы используете? Это больше похоже на «% d% p% t:% m» Я прав? – shem

+0

Проверено, это шаблон, который я использую – fudy

+0

Извините, вы используете log4j, а не log4r. См. Мой ответ – shem

ответ

1

Это не отображается в documentation, но, глядя на code, вы можете увидеть, что вы должны заменить «t» на «T», чтобы получить только имя файла.

Другой вариант заключается в реализации пользовательского форматирования, как объяснено here

+0

После замены% t% T, он работает! – fudy

Смежные вопросы