A solution that I like, because it keeps rspec output separate from actual rails log output, is to do the following:
Open a second terminal window or tab, and arrange it so that you can see both the main terminal you're running rspec on as well as the new one.
Run a tail command in the second window so you see the rails log in the test environment. By default this can be like $ tail -f $RAILS_APP_DIR/logs/test.log or tail -f $RAILS_APP_DIR\logs\test.log for Window users
Run your rspec suites
If you are running a multi-pane terminal like iTerm, this becomes even more fun and you have rspec and the test.log output side by side.
This will interleave any errors that are logged during testing to STDOUT. You may wish to route the output to STDERR or use a different log level instead.
Sending these messages to both the console and a log file requires something more robust than Ruby's built-in Logger class. The logging gem will do what you want. Add it to your Gemfile, then set up two appenders in config/environments/test.rb:
I had similar problem in rails 5.0. My api/request specs did not output errors into console, but into log/test.log file. Other test types were outputting errors to console normally.
Changing config.action_dispatch.show_exceptions to false fixed the problem: