我正在尝试制作自定义记录器。我在别处读到我可以在environment.rb中定义我的记录器并在其他文件中使用它。
我在environment.rb:
# Load the rails application
require File.expand_path('../application', __FILE__)
my_logger = Logger.new("#{Rails.root}/log/my.log")
my_logger.formatter = Logger::Formatter.new
# Initialize the rails application
MyApp::Application.initialize!
我从例如控制器调用记录器:
my_logger.info "got here"
但是,我得到错误:
未定义的局部变量或方法`my_logger'
为什么会发生这种情况的任何线索?谢谢!
答案 0 :(得分:2)
将文件打开到写入/追加模式:
尝试:
logfile = File.open('#{Rails.root}/log/my.log', 'a')
my_logger = Logger.new(logfile)
my_logger.info 'Hello World!'
答案 1 :(得分:2)
您可以维护自己的日志:
my_logger = ActiveSupport::BufferedLogger.new("#{Rails.root}/log/my.log")