Posted to tcl by thomas at Thu Nov 03 23:30:40 GMT 2011view raw

  1. set file /tmp/log.txt
  2. set pollIntervalInMs 1000
  3.  
  4. while { [catch {
  5. set fileHandler [open $file r]
  6. seek $fileHandler 0 end
  7. } errorMsg] } {
  8. puts "Cannot access $file"
  9. after $pollIntervalInMs
  10. }
  11.  
  12. set previousSize -1
  13. while { 1 } {
  14. after $pollIntervalInMs
  15. catch {
  16. set s [file size $file]
  17. if { $previousSize > $s } {
  18. puts "Truncated file !"
  19. seek $fileHandler $s start
  20. }
  21. set previousSize $s
  22. while { [gets $fileHandler line] >= 0 } {
  23. puts ->$line
  24. }
  25. }
  26. }
  27. close $fileHandler