Search code examples
ruby-on-railsstack-tracerails-consolebacktrace

set rails console stack backtrace limit permanently


rails console by default boots with context.back_trace_limit=16, which can be changed to whatever you want simply by typing context.back_trace_limit=n. The problem is you have to type it each time you boot rails c. Where do I change the context.back_trace_limit permanently? Some more reading on rails console configuration appreciated.


Solution

  • You have to create/edit your ~/.irbrc with the following:

    IRB.conf[:BACK_TRACE_LIMIT]= 20
    

    To be taken into account:

    • The options must be uppercased
    • This option is changing not only the rails console, but the normal "irb" behavior (the rails console uses irb to run)
    • This setting is global, and not per project

    Reference http://rakeroutes.com/blog/customize-your-irb/

    Update for Rails 5

    In Rails 5 the command context.back_trace_limit=20 will fail.

    In the console you need to use the command conf.back_trace_limit = 10 for the current session.

    For permanent changes, writing IRB.conf[:BACK_TRACE_LIMIT]= 20 in your ~/.irbrc is still valid.

    You can see the current settings by calling conf