Here's my config:
$ cat Procfile.test
foo: python -u foo.py
$ cat foo.py
import logging
logging.basicConfig()
logging.warn('A log line\nWith a line break')
logging.warn('Second log')
Now, watch this. This behaves okay.
$ python -u foo.py # both log lines will be shown (= okay)
WARNING:root:A log line
With a line break
WARNING:root:Second log
But when run with Heroku's local command:
$ heroku local -f Procfile.test # clipping second log line (= not okay)
forego | starting foo.1 on port 5000
foo.1 | WARNING:root:A log line
foo.1 | WARNING:root:Second log
Try running
foreman start
, That shows all the processes output to stdout.