Python output is buffered. Setting the environment variable PYTHONUNBUFFERED=1 in you supervisord.conf will disable buffering and show log messages sooner:
[program:x]
environment = PYTHONUNBUFFERED=1
or add the -u command-line switch to python command:
[program:x]
command = python -u file.py
Alternatively you can flush the sys.stdout handler explicitly:
sys.stdout.flush()
On python 3.3 and up, you can add the flush=True parameter to have the function do this for you:
print(something, flush=True)