Posted to tcl by thomas at Thu Nov 03 23:23:39 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. if { $previousSize > [file size $file] } {
  17. puts "Truncated file !"
  18. seek $fileHandler [file size $file] start
  19. }
  20. set previousSize [file size $file]
  21. while { [gets $fileHandler line] >= 0 } {
  22. puts ->$line
  23. }
  24. }
  25. }
  26. close $fileHandler