文档章节

RF日志文件(log.html)解读一

a
 akira9909
发布于 2016/06/22 17:21
字数 549
阅读 494
收藏 0

引入的js库:

Jquery,Jquery templates plugin,Jquery tablesorter,JsxCompressor(JSXGraph)

版本都很老,而且有些还是废弃的项目(Jquery templates plugin),但是脚本都直接写进了html页面中,所以版本问题无影响

页面呈现的内容:统计列表,python运行时错误,用例执行日志消息,都是通过调用js绘制,而不是直接生成html代码
所用数据保存在window对象中,其中

window.output["strings"]是日志数据的对象

<script type="text/javascript">
window.output["strings"] = window.output["strings"].concat(["*","*testMML","*D:\\gitworkspace\\base\\eta-sh\\common\\testMML.txt","*../../gitworkspace/base/eta-sh/common/testMML.txt","*OMM","*EMML.Login","*<p>ip:\x3c/p>","*10.62.44.135, 2121, admin, ${EMPTY}","eNqdjsEKgkAURffvK94iQoUksza2axOBo2AmUbQY9CVDzhgzI9HfZxZBW8/ycg8czxsL4JuEbNJJUk7OXDwocRVUIeOK19SvFvdPY0liTloKxZvBwY/643Rks5SxzClCF89ZWAQLP1j5wXyzDC//VwRvfHCcbncJdIa04pIi4FXfBHduzKPVVQQwmdZ2DYzFaL+9UdPWQqHpypKoAsn1LcLh9gLgFUn3","*EMML.Execute Mml","*CREATE:MOC=\"SubNetwork\",MOI=\"SubNetwork=1000\",ATTRIBUTES=\"NMSDNPREFIX=DC=www.zte.com.cn,NMSUSERDEFINEDNETWORKTYPE=AN,SubNetwork=1000,NMSSETOFMCC=460,USERLABEL=子网1000\",EXTENDS=\"\"","eNrz9fVRSE3OyLficg5ydQxxtfL1d7ZVCi5N8kstKc8vylbS8fX3RBawNTQwMFDScQwJCfJ0Cg1xDbZV8vMNdvELCHJ184ywdXG2LS8v1+OqKknVS87P1UvO0wFKhwa7BrkA5f1cXfxcQ8L9g7xDIgNcbR39dNAMBikOdg3xd/N1drY1MTPQAen0cXRy5fKxfbp2wvO9EyHWu0aEuPq5AO1Wso428o52GYWjcBSOwlE4CkfhKByFo3AUjsJROApH4YBDR1AnHUSoqKWXWA/ZoQYuPTBQUKhRgIDnuyc/mzeHSxcMuJ52zH66e9ezyb1P9s551jHhadf8xw1NXGjWwhRzgYMCAEL1cig=","*BuiltIn.Log","*<p>Logs the given message with the given level.\x3c/p>","*你好,编号9527","*EMS","*10.62.44.49, 21123, admin, ${EMPTY}","eNrT0iIXcCmgAb/UEr/S3NQ8hVBjQ4Xnu+c/2dHwfO/E5+sWPt+8G8hFV66AakBpbrFCNIoRYYZGeobGeqaGAYZGsWhatch39vOZu1/ObON6PmXFs47tTyf0WnElpuRm5nE9Xd/2fEGjFReXiqtv8LM5vU+7Fj6duULD0EDPzEjPxETPxFJTLb3EmsvX10ehJLUIqCUxxyonPz0zT6G4NDk5NTWFKzexKNtKAb9+AKKEaEI=","*CREATEOMM:VENDOR=ZTE Corporation,NAME=UV3网元_10.62.44.135,FTPPORT=20021,MOC=wcdma.omm,TIMEZONE=0,IPADDRESS=10.62.44.135,PORT=21125;","eNrz9fVRSE3OyLficg5ydQxx9ff1tQpz9XPxD7KNCnFVcM4vKsgvSizJzM/T8XP0dbUNDTN+vnfi09bmeEMDPTMjPRMTPS5DY1Mdt5CAAP+gEFsjAwMjQx1ff2fb8uSU3ES9/NxcnRBPX9cofz9XWwMdzwBHF5cg1+BgW7h2kG6IVkNDI1PraCPvaJdROApH4SgchaNwFI7CUTgKR+EoHIWjcBQOOHQEdtJVXH2Dn83pfdq18OnMFRrw3ryJpaZaeon1YBlN4NIDAwWFGgUIeDpx75PdS551Ln+xsOfpko0vtiy1ggg92dH7dO2Mp3NWPG5o4sLvOQDXU2GC"]);
</script>

window.output["stats"]是统计表格的数据,该列表有3个元素,分别对应3个表格

<script type="text/javascript">
window.output["stats"] = [[{"elapsed":"00:00:07","fail":0,"label":"Critical Tests","pass":2},{"elapsed":"00:00:07","fail":0,"label":"All Tests","pass":2}],[],[{"elapsed":"00:00:07","fail":0,"id":"s1","label":"testMML","name":"testMML","pass":2}]];
</script>

还增加了window.fileloading,window.model,window.util,window.testdata,window.output等对象/模块

 

绘制统计数据表格的函数为addStatistics,addStatTable

折叠日志消息的函数toggleElement,,其代码段:

function toggleSuite(suiteId) {
    toggleElement(suiteId, ['keyword', 'suite', 'test']);
}
function toggleTest(testId) {
    toggleElement(testId, ['keyword']);
}
function toggleKeyword(kwId) {
    toggleElement(kwId, ['keyword', 'message']);
}
function toggleElement(elementId, childrenNames) {
    var element = $('#' + elementId);
    var children = element.children('.children');
    children.toggle(100, '', function () {
        element.children('.element-header').toggleClass('closed');
    });
    populateChildren(elementId, children, childrenNames);
}
function populateChildren(elementId, childElement, childrenNames) {
    if (!childElement.hasClass('populated')) {
        var element = window.testdata.findLoaded(elementId);
        var callback = drawCallback(element, childElement, childrenNames);
        element.callWhenChildrenReady(callback);
        childElement.addClass('populated');
    }
}

页面中各种图标使用base64代码

比如RF标志:

<link rel="icon" type="image/x-icon" href="data:image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAEAAAAAAAAAAAAAAAJEBoACtnfgA5cYYAERsiAEx2lAAbKkQAcazBACZCVwAcM1cAK0ucAAMDBQAnQncASG+FABkoVQAyWmgA6f8SgvH/Ij99+GLyIinyJfn/Yi//KSLzUy9iZogpIld3/4JVVTkid7vyUjNVNVJEAGOZ6Z7pXwAABpmZkRiLAAAGiJZpmGAAAEEt3SXdxAAATC7o/u3EAAC8MRZpjasAAAY1VVVTYAAABKqqqqpAAAAADKqq4AAAAAAAv4sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMADAADgAwAA4AcAAOAHAADgBwAAwAcAAOAHAADgDwAA8A8AAPg/AAD+fwAA">


又比如用例折叠的图标:

 

.element-header {
    border: 1px solid transparent;
    border-radius: 2px;
    padding: 0.3em 6.5em 0.3em 1.4em;
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url("data:image/gif;base64,R0lGODlhDQALAIAAAAAAAAAAACH5BAEKAAEALAAAAAANAAsAAAIZTICpYGz/nIOxUShvPU1ZroHTlYWlJi1LAQA7");
}


表格排序使用了jquery tablesorter插件,看介绍使用比较简单,设置table的class为tablesorter,然后在$().ready()中调用$("#"+table id).tablesorter()就可以

$(function(){
  $("#myTable").tablesorter();
});

 

 

 

© 著作权归作者所有

共有 人打赏支持
下一篇: 代码训练
a
粉丝 0
博文 524
码字总数 163242
作品 0
浦东
私信 提问
使用 Map-Reduce 统计Web 服务器 access.log 日志文件

1.6. Map-Reduce 1.6.1. 使用 Map-Reduce 统计Web 服务器 access.log 日志文件 首先将web服务器access.log倒入到mongodb,参考 http://netkiller.github.io/article/log.html。 格式如下: {"......

netkiller-
2013/07/15
0
0
关于MySQL慢日志,你想知道的都在这

作者介绍 邹鹏,现任职于腾讯云数据库团队,负责腾讯云数据库MySQL中间件研发,多年的数据库、网络安全研发经验,对云计算平台的网络、计算、存储、安全有着深入的了解,在MySQL的高可用、高...

邹鹏
2017/07/19
0
0
多服务器的日志合并统计——apache日志的cronolog轮循

http://www.chedong.com/tech/rotate_merge_log.html

zt371
2008/12/14
471
0
linux服务器定时任务/etc/crontab

环境介绍:多台linux服务器内备份数据,拷贝到win共享文件夹内,win系统上安装了备份软件,定时备份到磁带机。具体操作(linux服务器上,多台): 找个目录,比如/tmp或者脚本目录/opt/auto...

hewei09
01/04
0
0
Docker 宿主机定时清除容器的运行日志

docker 宿主机定时清除容器的运行日志 一般docker容器都是最小化安装,不仅如此系统定时器相关的服务也不存在,自己去安装也很麻烦,故此直接使用宿主机的定时器即可。 一、在容器中编写清除...

yope
07/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

我的Linux系统九阴真经

我的Linux系统九阴真经 在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行...

linuxCool
22分钟前
2
0
Python程序员需要知道的30个技巧

1 直接交换两个数字位置 1x, y = 10, 202print(x, y)3x, y = y, x4print(x, y)5#1 (10, 20)6#2 (20, 10) 2 比较运算符的链接 1n = 102result = 1 < n < 203print(result)4# True5result = 1 ......

糖宝lsh
22分钟前
1
0
[LintCode] Linked List Cycle(带环链表)

描述 给定一个链表,判断它是否有环。 样例 给出 -21->10->4->5, tail connects to node index 1,返回 true。 这里解释下,题目的意思,在英文原题中,tail connects to node index 1 表示的...

honeymose
33分钟前
3
0
Android :报错Your project path contains non-ASCII characters.

报错内容如下 Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See ht......

lanyu96
44分钟前
4
0
Nginx平滑添加模块

Nginx已经编译安装并运行了一段时间, 然后某一天, 发现需要用到某个模块但当初没有编译, 这个时候怎么办呢? 卸载重新安装肯定可以的, 如果Nginx版本没有变更的话, 则有一个相对平滑的方法来添...

老菜鸟0217
49分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部