繁体   English   中英

从Winston日志文件直接在React App中流式传输

[英]Stream from Winston log file directly in React App

在我的Node后端中,我创建了一个Winston JSON日志文件(更像是Json对象的数组)。 我有一个React前端,我想在其中实时流式传输日志文件内容。 在不通过后端管道传输的情况下可以做到吗?

是的,您可以执行此操作,但这确实会降低Web服务器的性能。 只有一种方法可以不通过后端进行管道传输,您可以通过按一定间隔将HEAD请求发送到Web服务器来完成。

香草JavaScript代码:

var xhr = new XMLHttpRequest();
var intervalMs = 500;
var lastTime = new Date().getTime();
var intervalObj = window.setInterval(function(){
    xhr.open('HEAD', 'http://localhost:80/logfile.log');
    xhr.onreadystatechange = function() {
        if(this.readyState = this.DONE)
        {
            let lastModifiedStr = this.getResponseHeader('Last-Modified');
            var lastModifiedTimeStamp = new Date(lastModifiedStr).getTime();
            console.log("Last Modified",lastModifiedTimeStamp)
            if(lastTime < lastModifiedTimeStamp)
            {
                lastTime = lastModifiedTimeStamp;
                // Update your Redux State here and catch it with React and Update your UI
            }
        }
    };
    xhr.send()
}, intervalMs);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM