Of course, but I wonder if creating the reactiveFileReader directly inside renderPrint is erroneous. Here is a (somewhat lengthy) chunk of code where it does not work whereas using a reactive variable does.
When I run it (in Linux), the version above does not display all the log file counts from 1 to 10, but (for a reason unknown to me) stops at count 2-3. If I use a variable inside renderPrint, it works just fine.
Myself I would prefer to be practical and write the cleanest easiest to follow code that I know how to do.
Though I do completely get the desire to understand the framework, and I have to admit I don't have the chops to do that for you ...
Of the different options I show below. 1 and 3 makes sense to me, and I have used them often in the past, and 2 seems to follow your imagined pattern, but I wouldn't have thought to use it.. maybe a lack of imagination on my part.. , and I don't have a clear reason for you as to why it doesn't work, you may need someone with knowledge of shiny internals to figure it for you, I expect there's something about it that does not reliably build the reactive graph.
Anyways, you have a solution so its not a big defeat, simply revert to using your logTimer object.