Verbose Output From rake assets:precompile

I've just started using the asset_sync gem and my assets seem to be being compiled out of order, with Sass files unabled to access variables defined in other Sass files. What would really help me narrow down the issue is being able to see exactly what is going on during precompilation, but both rake assets:precompile and heroku run rake assets:precompile doesn't seem to offer a verbose option. All I get is some higher level output followed by a rake aborted! and a stack trace. Tailing heroku logs gets me nothing, so how can I get a more detailed log of what is going on during asset precompilation on Heroku?

Answers


Turns out a combination of the following gets you some more verbocity. You get output when a file is precompiled, but not as it is being precompiled, so if it hangs you can't see what it's choked on.

  1. Use the --trace flag

    $ heroku run rake assets:precompile --trace

  2. Set the log to use STDOUT in production.rb:

    config.logger = Logger.new(STDOUT)


In case a deploy fails during asset precompile phase and you want to debug it, you can force heorku to push without precompiling assets by adding an empty public/manifest.yml. This will allow you to run $heroku run rake assets:precompile --trace as @Pedr described in his answer.

See Is it possible to skip the asset precompile step for a single git push on Heroku? for more details.


Need Your Help

PowerShell on Windows 7: Set-ExecutionPolicy for regular users

windows-7 powershell

I want to run PowerShell scripts on Windows 7 as a regular user. Whenever I try, I get the following error:

Determine ruby version from within Rails

ruby-on-rails ruby ruby-enterprise-edition

Is there a way to determine what version of Ruby is running from within Rails (either on the web or through script/console)? I have Ruby 1.8.6 installed but I've also installed Ruby Enterprise Edit...