Popular recipes tagged "rotate"http://code.activestate.com/recipes/tags/rotate/popular/2014-04-04T15:54:03-07:00ActiveState Code RecipesLog watcher (tail -F *.log) (Python) 2014-04-04T15:54:03-07:00Giampaolo RodolĂ http://code.activestate.com/recipes/users/4178764/http://code.activestate.com/recipes/577968-log-watcher-tail-f-log/ <p style="color: grey"> Python recipe 577968 by <a href="/recipes/users/4178764/">Giampaolo RodolĂ </a> (<a href="/recipes/tags/color/">color</a>, <a href="/recipes/tags/log/">log</a>, <a href="/recipes/tags/logging/">logging</a>, <a href="/recipes/tags/monitor/">monitor</a>, <a href="/recipes/tags/python/">python</a>, <a href="/recipes/tags/rotate/">rotate</a>, <a href="/recipes/tags/rotations/">rotations</a>, <a href="/recipes/tags/tail/">tail</a>). Revision 10. </p> <p>A python class which "watches" a directory and calls a callback(filename, lines) function every time one of the files being watched gets written, in real time.</p> <p>Practically speaking, this can be compared to <em>"tail -F *.log"</em> UNIX command, but instead of having lines printed to stdout a python function gets called.</p> <p>Similarly to tail, it takes care of "watching" new files which are created after initialization and "unwatching" those ones which are removed in the meantime. This means you'll be able to "follow" and support also rotating log files.</p> <p><strong>History</strong></p> <ul> <li>rev5 (2013-04-05): <ul> <li>sizehint parameter</li> </ul></li> <li>rev4 (2013-03-16): <ul> <li>python 3 support (also dropped support for python &lt;= 2.5)</li> <li>windows support</li> <li>unit tests</li> <li>main class can also be used as a context manager</li> </ul></li> <li>rev3 (2012-01-13): initial release</li> </ul> Tail a continuously growing file (like tail -f filename) (Python) 2011-05-20T16:32:59-07:00Jason Morrisshttp://code.activestate.com/recipes/users/4174039/http://code.activestate.com/recipes/577710-tail-a-continuously-growing-file-like-tail-f-filen/ <p style="color: grey"> Python recipe 577710 by <a href="/recipes/users/4174039/">Jason Morriss</a> (<a href="/recipes/tags/file/">file</a>, <a href="/recipes/tags/rotate/">rotate</a>, <a href="/recipes/tags/tail/">tail</a>). </p> <p>This is my version of a "File Tail" class for Python3 (will not work on Python2 w/o a couple of modifications). My original inspiration came from the perl File::Tail module.</p> <p>Transparently handles files that get rotated or truncated. </p> <ul> <li>Does not take 100% CPU. </li> <li>Does not take up much memory.</li> <li>Is capable of handling any size log file.</li> <li><em>Not tested on Windows</em></li> </ul> <p>Example:</p> <pre class="prettyprint"><code>from filetail import FileTail tail = FileTail("/var/log/syslog") for line in tail: print(line, end="") </code></pre>