开发者

Tail a text file on a web server via HTTP

开发者 https://www.devze.com 2023-03-09 23:33 出处:网络
Looking for input on how to solve the following problem. My ColdFusion 9 app has a simple logger that writ开发者_如何学Pythones text to a file. On my dev machine, the file is local so I can use either

Looking for input on how to solve the following problem. My ColdFusion 9 app has a simple logger that writ开发者_如何学Pythones text to a file. On my dev machine, the file is local so I can use either 'tail -f' or CFB's TailView to watch it. I'd like a tool to watch it when it's deployed on the production server. The catch: production is at a shared CF hosting provider which doesn't allow RDS file access or a directory-watcher gateway. I'm wondering about a page with a meta refresh tag or if I want to get more fancy, something AJAXy to the same effect. Thoughts? Any tools that already exist for this?

I may experiment with this but am hoping there is something out there "more complete" : following a log file over http


You can you the following PHP script:

<?php
header("Content-Type: text/plain");
set_time_limit(0);
passthru("tail -F -n +0 log.txt");
?>


The following psuedo-code is inspired by this Java solution and has not been tested at all:

if (NOT structKeyExists(application, "log") {
    application.log = fileOpen('log.txt', 'read')
}

while(NOT FileisEOF(application.log))  {
    writeOutput(fileReadLine(application.log) & "<br/>");
}

Put that on a page with a meta refresh and I think you are probably in business.


I create the following bash script for my use case (tail.sh)

It with using 'lynx' get list of files from which get filesize that needed, and in infinity loop trying to get part of file


I know it's pretty old school, but have you considered logging to a database? If you timestamp the log entries in the table you could use HTTP Caching headers to communicate to the server what new data you should see.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号