【问题标题】:Appending new line in log file display in JSF在 JSF 的日志文件显示中添加新行
【发布时间】:2023-03-25 00:19:01
【问题描述】:

我想通过连续读取日志文件并在 jsf 视图中添加新行来在 jsf 中显示日志文件。这样我就需要监视日志文件中的任何新日志并使用新的附加行更新 JSF 页面(例如:Jenkins 中的控制台显示机制)。

注意:

  1. 我正在使用 JSF2 + Richfaces 4.3。
  2. 使用 ssh 读取远程机器中的日志文件。

我非常感谢有关此主题的任何帮助。

【问题讨论】:

  • 您有什么问题?读取文件,显示输出,还有什么?
  • 嗨 Makhiel,我在显示文件时遇到问题,如果我刷新输入文本区域组件以反映新更改,那么整个组件都会被刷新,从而导致仅显示最后附加的内容而不是而不是将新行附加到以前的内容(我想显示日志文件,就像在命令提示符中使用 tail -f 日志文件一样)。我已经尝试过民意调查,但无法正常工作。现在我正在尝试推送(即使它也会根据支持 bean 事件刷新组件)我希望附加内容而不是覆盖内容。

标签: jsf jsf-2 richfaces richpush


【解决方案1】:

这样的事情应该可以工作:

<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 以便获取新行。

但是,如果您手动刷新这些行也会丢失,如果您不希望发生这种情况,则必须跟踪以前显示的行。

【讨论】:

    【解决方案2】:

    我在显示文件时遇到问题,如果我刷新输入文本区域组件以反映新的更改,那么整个组件都会被刷新,从而导致仅显示视图中最后附加的内容,而不是将新行附加到前一个内容(我想显示日志文件,就像在命令提示符中使用 tail -f 日志文件一样)。

    1. 我已尝试使用 poll ,但无法正常工作。
    2. 现在我正在尝试推送(即使它也会根据支持 bean 事件刷新组件)
    3. 我希望追加内容而不是覆盖内容。

    【讨论】:

      猜你喜欢
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      • 2013-10-29
      • 1970-01-01
      • 2016-06-03
      相关资源
      最近更新 更多