0

我需要使用 ajax 调用将服务器日志文件显示到屏幕中。面板需要每 10 秒渲染一次以获取更新的日志文件。我尝试使用以下代码。

 var LogPanel = Ext.extend(Ext.Panel, {
     title : 'API LOG',
     width : '100%',
     height:265,
     autoScroll: true,
     listeners: {
            'render': function()
                {
                    Ext.Ajax.request({
                        url: 'logs/mylog.log',
                        success: function(response){
                            Ext.getCmp('logPanelId').update( response.responseText );
                        }
                    });                
                }
        }
});
 Ext.reg('logPanel', LogPanel);
  • 我无法在面板中正确对齐日志文件中可用的日志数据

  • 我的日志包含 xml 代码。但面板中未显示 xml 代码。

  • 我的 xml 标记名称之一是“输入”。但是在面板中
    创建了 Html 文本字段。

指导我解决这些问题。

4

2 回答 2

0

尝试这个:

var s = Ext.util.Format.htmlEncode(s);
Ext.getCmp('logPanelId').update('<pre>' + s + '</pre>');
于 2013-08-05T12:34:48.567 回答
0

几件事:1)将响应读取为responseXML。类似 Ext.getCmp('logPanelId').update( response.responseXML );

2) 这启用了格式化的 xml 。如果您的日志文件绑定了一个 xml 架构(通常是这样),您应该看看XmlReader。这将帮助您避免客户端的编码和解码开销。

于 2013-08-05T21:10:37.803 回答