注意:我说的是Ruby,不是 Rails。
有没有办法根据记录的类或文件设置Log4r级别?
这是我目前Log4r的配置:
---
log4r_config:
loggers:
- name: logger
level: INFO
outputters:
- default
outputters:
- name: default
type: StdoutOutputter
default: true
formatter:
type: PatternFormatter
date_pattern: '%H:%M:%S'
pattern: '[%l] %d: %m'
现在假设我想调试一个类。有没有办法可以使用相同的记录器实例(因为我想使用相同的模式格式)并将其设置为不同的级别(DEBUG),而不会影响文件外的级别?
我想我不能从代码中做到这一点,但有没有一种配置机制可以设置每个文件/类的级别?
作为参考,在JBoss应用服务器中,可以根据Java包配置日志记录级别。
答案 0 :(得分:0)
目前,我正在使用针对我需要的每个日志级别的单独记录器的变通方法。
目前,我只需要DEBUG
和INFO
等级。我的log4r.yml看起来像这样:
---
log4r_config:
loggers:
- name: debug
level: DEBUG
outputters:
- default
- name: info
level: INFO
outputters:
- default
outputters:
- name: default
type: StdoutOutputter
default: true
formatter:
type: PatternFormatter
date_pattern: '%H:%M:%S'
pattern: '[%l] %d: %m'
然后,我根据特定类所需的级别获取记录器。
INFO
的记录器,我会使用log = Log4r::Logger.get('info')
DEBUG
的记录器,我会使用log = Log4r::Logger.get('debug')