I spent a lot of time on this issue until I found the problem:
Like many people who start using logstash, I have created 1 demo input file with 1 line of data.
When I used stdin() for the same input line, everything worked great. but when tried to read same input line from file, logstash didn't read the data.
I think it's because the single line ends with "EOF" and there is no "\n". so only when added a new empty line at the end logstash was able to read the data.
You can see my stackOverflow question with all detailed configuration & data: http://stackoverflow.com/questions/37596487/logstash-reads-data-from-stdin-but-not-from-file/37607430
Is it a known issue? If i'm right with my assumption with the "\n", it means that many people might lose their last line of data unless it has an empty line at the end.