If it's happening when some type of log rotation rotates the log out, there is a good possibility that tail catches the EOF when log rotation kicks the process that created the file and tail dies.
I believe the retry feature of tail may not necessarily retry after what it sees as an EOF, and that would probably be intentional.
To test this, you can tail the file yourself when log rotation is going to run. If you go back to shell, then you need to write a retry into the Java code you're writing to compensate.
It may very likely be that Oracle added STDIN limitations into Java with the latest releases as well.
On Feb 8, 2013 9:36 AM, "Liu Haifeng" <address@hidden
We are developing our own tailer now, but I want to find out what happened with gnu tail or oracle java.
I do not know what limitations STDIN has on it in java offhand, but it sounds like this is what you are trying to do: