0

我正在尝试制作自定义记录器。我在其他地方读到我可以在 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”

关于为什么会发生这种情况的任何线索?谢谢!

4

2 回答 2

2

打开文件进入写入/附加模式:

尝试 :

logfile = File.open('#{Rails.root}/log/my.log', 'a')  
my_logger = Logger.new(logfile)
my_logger.info 'Hello World!'
于 2012-04-06T12:37:18.890 回答
2

您可以维护自己的日志:

my_logger = ActiveSupport::BufferedLogger.new("#{Rails.root}/log/my.log")
于 2012-04-06T12:44:33.843 回答