utl_file autoflush or utl_file.fflush creates a empty text/log file. The text/log file is filled only when the Oracle Scheduler job completes with all the utl_file.put_line messages.
Oracle Scheduler job executes a PL/SQL procedure which uses the utl_file to create a log file for the job run at the OS level.
I used both utl_file.put_line autoflush and utl_file.fflush but still the the first utl_file.put_line message is not written to the log file. The log file is created but it is empty. All the utl_file.put_line messages are written to the log file only when the Oracle Scheduler job completes.
This is Oracle 11g R2 Exadata on Linux.
Without a single line of code to look at we can not help you.
If your code block is too large to post create a scaled down version that duplicates the issue so we can try it.
PS: 11gR2 is almost meaningless ... have you kept current with your patching? Are you at 220.127.116.11?
It is very unlikely that you encounter anything Exadata-specific with your UTL_FILE problem - therefore I would recommend that you post that question in the Database General forum General Questions , where a lot more people look into.
"Don't believe it, test it!"