Exception on ActionDispatch::Http::UploadedFile log?
Closed this issue · 3 comments
dlanderson commented
Using RLA 1.13.3 and trying to analyze a log file with the following Rails 4 action:
I, [2014-11-04T11:42:09.958586 #22508] INFO -- : Started POST "/actions/upload" for 79.241.76.41 at 2014-11-04 11:42:09 +0100
I, [2014-11-04T11:42:09.966595 #22508] INFO -- : Processing by BranchController#upload as HTML
I, [2014-11-04T11:42:09.966685 #22508] INFO -- : Parameters: {"X-Requested-With"=>"IFrame", "X-HTTP-Accept"=>"application/json, text/javascript, */*; q=0.01", "image"=>#<ActionDispatch::Http::UploadedFile:0x00000005522ce0 @tempfile=#<Tempfile:/tmp/RackMultipart20141104-22508-unv373>, @original_filename="2010-10-30 13.49.00.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"image\"; filename=\"2010-10-30 13.49.00.jpg\"\r\nContent-Type: image/jpeg\r\n">}
I, [2014-11-04T11:42:10.215899 #22508] INFO -- : Completed 200 OK in 249ms (Views: 0.3ms | ActiveRecord: 18.2ms)
I get the Exception:
request-log-analyzer /tmp/rails_test.log2
Request-log-analyzer, by Willem van Bergen and Bart ten Brinke - version 1.13.3
Website: http://railsdoctors.com
/home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/request.rb:60:in `eval': (eval):1: syntax error, unexpected tCONSTANT, expecting '}' (SyntaxError)
...00005522ce0 @tempfile="Tempfile:/tmp/RackMultipart20141104-2...
... ^
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/request.rb:60:in `convert_eval'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/request.rb:17:in `convert_value'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/line_definition.rb:119:in `block in convert_captured_values'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/line_definition.rb:116:in `each'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/line_definition.rb:116:in `each_with_index'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/line_definition.rb:116:in `convert_captured_values'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/request.rb:134:in `add_parsed_line'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/request.rb:165:in `<<'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/source/log_parser.rb:310:in `update_current_request'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/source/log_parser.rb:225:in `parse_line'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/file_format.rb:84:in `block (2 levels) in autodetect'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/file_format.rb:84:in `each'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/file_format.rb:84:in `block in autodetect'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/file_format.rb:82:in `open'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/file_format.rb:82:in `autodetect'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/lib/request_log_analyzer/controller.rb:83:in `build_from_arguments'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.3/bin/request-log-analyzer:133:in `<top (required)>'
from /home/dave/.rvm/gems/ruby-2.1.4/bin/request-log-analyzer:23:in `load'
from /home/dave/.rvm/gems/ruby-2.1.4/bin/request-log-analyzer:23:in `<main>'
from /home/dave/.rvm/gems/ruby-2.1.4/bin/ruby_executable_hooks:15:in `eval'
from /home/dave/.rvm/gems/ruby-2.1.4/bin/ruby_executable_hooks:15:in `<main>'
wvanbergen commented
I think this bug was fixed recently. Could you try with the latest master? If the fix works I will release it as a new version.
dlanderson commented
Thanks for the reply, @wvanbergen - tried with commit fcb6deb (I set the version to 1.13.4 just to clarify the debug output was using the correct gem):
Test input:
dave@ubuntults:~/request-log-analyzer$ cat /tmp/rails_test.log
I, [2014-11-03T08:27:52.665725 #62523] INFO -- : Started POST "/actions/upload" for 79.241.126.27 at 2014-11-03 08:27:52 +0100
I, [2014-11-03T08:27:52.666607 #62523] INFO -- : Processing by BranchController#upload as HTML
I, [2014-11-03T08:27:52.666678 #62523] INFO -- : Parameters: {"X-Requested-With"=>"IFrame", "X-HTTP-Accept"=>"application/json, text/javascript, */*; q=0.01", "image"=>#<ActionDispatch::Http::UploadedFile:0x000000057aec70 @tempfile=#<Tempfile:/tmp/RackMultipart20141103-62523-15ixzw5>, @original_filename="carscents.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"image\"; filename=\"carscents.jpg\"\r\nContent-Type: image/jpeg\r\n">}
I, [2014-11-03T08:27:52.821151 #62523] INFO -- : Completed 200 OK in 154ms (Views: 0.3ms | ActiveRecord: 1.6ms)
Result:
dave@ubuntults:~/request-log-analyzer$ request-log-analyzer /tmp/rails_test.log3
Request-log-analyzer, by Willem van Bergen and Bart ten Brinke - version 1.13.4
Website: http://railsdoctors.com
/home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/request.rb:60:in `eval': (eval):1: syntax error, unexpected '}' (SyntaxError)
...Content-Type: image/jpeg\r\n">}
... ^
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/request.rb:60:in `convert_eval'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/request.rb:17:in `convert_value'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/line_definition.rb:119:in `block in convert_captured_values'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/line_definition.rb:116:in `each'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/line_definition.rb:116:in `each_with_index'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/line_definition.rb:116:in `convert_captured_values'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/request.rb:134:in `add_parsed_line'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/request.rb:165:in `<<'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/source/log_parser.rb:310:in `update_current_request'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/source/log_parser.rb:225:in `parse_line'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/file_format.rb:84:in `block (2 levels) in autodetect'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/file_format.rb:84:in `each'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/file_format.rb:84:in `block in autodetect'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/file_format.rb:82:in `open'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/file_format.rb:82:in `autodetect'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/lib/request_log_analyzer/controller.rb:83:in `build_from_arguments'
from /home/dave/.rvm/gems/ruby-2.1.4/gems/request-log-analyzer-1.13.4/bin/request-log-analyzer:133:in `<top (required)>'
from /home/dave/.rvm/gems/ruby-2.1.4/bin/request-log-analyzer:23:in `load'
from /home/dave/.rvm/gems/ruby-2.1.4/bin/request-log-analyzer:23:in `<main>'
from /home/dave/.rvm/gems/ruby-2.1.4/bin/ruby_executable_hooks:15:in `eval'
from /home/dave/.rvm/gems/ruby-2.1.4/bin/ruby_executable_hooks:15:in `<main>'
Let me know if I can provide any other info.
wvanbergen commented
I actually hadn't merged the PR that fixes this yet. I now did, and released version 1.13.4. This should fix the problem. If not please re-open this issue.