Rawk no longer works on Rails 2.2.2


#1

I just wanted to let you know that the hack to make rawk work on Rails
2.2.2 by grouping action calls no longer works.

This is the hack, I have put the TODO where the line crashes Rails:

module ActiveSupport
class BufferedLogger
def add(severity, message = nil, progname = nil, &block)
return if @level > severity
message = (message || (block && block.call) || progname).to_s
# If a newline is necessary then create a new message ending with
a newline.
# Ensures that the original message is not mutated.
message = “#{message} (pid:#{$$})” if RAILS_ENV==“production”
message = “#{message}\n” unless message[-1] == ?\n
@buffer << message # TODO: this line no longer works with Rails
2.2.2
auto_flush
message
end
end
end

The error message is the following:

Error during failsafe response: undefined method <<' for {}:Hash (originally undefined method<<’ for {}:Hash)


#2

On 22 Nov 2008, at 13:51, Fernando P. wrote:

 message = (message || (block && block.call) || progname).to_s
 # If a newline is necessary then create a new message ending with

a newline.
# Ensures that the original message is not mutated.
message = “#{message} (pid:#{$$})” if RAILS_ENV==“production”
message = “#{message}\n” unless message[-1] == ?\n
@buffer << message # TODO: this line no longer works with Rails

that line needs to be changed to buffer << message

Fred


#3

Frederick C. wrote:

On 22 Nov 2008, at 13:51, Fernando P. wrote:

 message = (message || (block && block.call) || progname).to_s
 # If a newline is necessary then create a new message ending with

a newline.
# Ensures that the original message is not mutated.
message = “#{message} (pid:#{$$})” if RAILS_ENV==“production”
message = “#{message}\n” unless message[-1] == ?\n
@buffer << message # TODO: this line no longer works with Rails

that line needs to be changed to buffer << message

Fred

Smashing it works! Thanks Fred. How did you know about that? Do you
often dive into Rails source code?


#4

On Nov 22, 2:31 pm, Fernando P. removed_email_address@domain.invalid
wrote:

Frederick C. wrote:

that line needs to be changed to buffer << message

Fred

Smashing it works! Thanks Fred. How did you know about that? Do you
often dive into Rails source code?

Well if you look at the original method this one is replacing it
seemed fairly obvious.

Fred