我想通过连续读取日志文件并在 jsf 视图中附加新行来在 jsf 中显示日志文件。这样我需要监视任何新日志的日志文件并使用新的附加行更新 JSF 页面(例如:Jenkins 中的控制台显示机制)。
笔记:
- 我正在使用 JSF2 + Richfaces 4.3 。
- 使用 ssh 读取远程机器中的日志文件。
我非常感谢有关此主题的任何帮助。
像这样的东西应该工作:
<a4j:poll id="poll" enabled="true" ontimer="append()" render="panel" />
<textarea cols="40" rows="10" id="tarea" />
<a4j:outputPanel id="panel">
<h:outputScript>
append = function() {
$('#tarea').append('\n#{bean.newLine}');
}
</h:outputScript>
</a4j:outputPanel>
您必须重新呈现 JavaScript 以便获取新行。
但是,如果您手动刷新这些行也会丢失,如果您不希望发生这种情况,则必须跟踪先前显示的行。
我在显示文件时遇到问题,如果我刷新输入文本区域组件以反映新的更改,那么整个组件都会刷新,从而导致仅显示视图中最后附加的内容,而不是将新行附加到以前的内容(我想要显示日志文件,就像在命令提示符中使用 tail -f 日志文件一样)。