JSADS-日志对象MyLogger
/*** 日志对象(构造函数)* @param id* @constructor*/
function MyLogger(id) {id = id || 'ADSLogWindow';//私有属性//日志窗口的DOM节点var logWindow = null;//私有方法//用受保护的方法创建日志窗口var createWindow = function () {//取得新窗口在浏览器中居中方知识的左上角位置var browserWindowSize = ADS.getBrowserWindowSize();var top = ((browserWindowSize.height - 200) / 2) || 0;var left = ((browserWindowSize.width - 200) / 2) || 0;//创建作为日志窗口的DOM节点//使用受保护的logWindow属性维护引用logWindow = document.createElement('ul');//指定ID值,以便必要时在DOM树中能够识别它logWindow.setAttribute('id', id);//在屏幕中居中定位日志窗口logWindow.style.position = 'absolute';logWindow.style.top = top + 'px';logWindow.style.left = left + 'px';//设置固定的大小并允许窗口内容滚动logWindow.style.width = '200px';logWindow.style.height = '200px';logWindow.style.overflow = 'scroll';//添加一些样式以美化外观logWindow.style.padding = '0';logWindow.style.margin = '0';logWindow.style.border = '1px solid black';logWindow.style.backgroundColor = 'white';logWindow.style.listStyle = 'none';logWindow.style.font = '10px/10px Verdana, Tahoma, Sans';//将其添加到文档主体中document.body.appendChild(logWindow);};//特权方法,(如果logWindow尚未定义,它还要调用受保护的createWindow()方法)/*** 向日志窗口中添加一条新纪录* @param {String} message* @return {Boolean}*/this.writeRaw = function (message) {//如果初始的窗口不存在,则创建它if (!logWindow) {createWindow();}//创建列表项并适当地添加样式var li = document.createElement('li');li.style.padding = '2px';li.style.border = '0';li.style.borderBottom = '1px dotted black';li.style.margin = '0';li.style.color = '#000';li.style.font = '12px/14px Verdana, Tahoma, Sans';//为日志节点添加信息if (typeof message === 'undefined') {li.appendChild(document.createTextNode('Message was undefined'));} else if (typeof li.innerHTML !== 'undefined') {//检查是否支持innerHTMLli.innerHTML = message;} else {li.appendChild(document.createTextNode(message));}//将这个条目添加到日志窗口logWindow.appendChild(li);return true;};
}
//公有方法
MyLogger.prototype = {/*** 对message中的尖括号进行编码以便在日志窗口中显示HTML源代码* @param {String} message*/write:function (message) {//警告message为空值时if (!message) {return this.writeRaw('ADS.log: null message');}//如果message不是字符串,则尝试调用toString()方法,//如果不存在该访问则记录对象类型if (typeof message !== 'string') {if (message.toString()) {return this.writeRaw(message);} else {return this.writeRaw(typeof message);}}//转换<和>以便innerHTML不会将message作为HTML进行解析message = message.replace(/</g, '<').replace(/>/g, '>');return this.writeRaw(message);},/*** 向日志窗口中添加加粗,红色的条目来充当标题* @param {String} message* @return {Boolean}*/header:function (message) {message = '<span style="color:white;background-color:black;font-weight:bold;padding:0 5px;">' + message + '</span>';return this.writeRaw(message);}
};if (!window.ADS) {window.ADS = {};
}window.ADS.log = new MyLogger();
转载于:https://www.cnblogs.com/webFrontDev/archive/2012/11/24/2786027.html
JSADS-日志对象MyLogger相关推荐
- 服务端设置忽略更新_深入理解Kafka服务端之日志对象的读写数据流程
一.场景分析 在前面几篇分析过,Log类用于管理服务端日志相关的各种操作,如: 日志段管理:滚动生成新日志段.组织并管理分区下的所有日志段等 关键偏移量管理:如LogStartOffset.LEO等 ...
- Log4j的日志对象
/*** DateTime: 2016/9/17 14:03* 功能:Log4j的日志对象* 思路:*/ public class Logger {private org.apache.log4j.L ...
- kafka日志对象(一)—— Log Segment
kafka的高吞吐量和持久性是一大亮点,内部的日志操作是如何呢,研究明白了一定豁然开朗,至少我有种恍然大明白的感觉. kafka的日志结构 Kafka 日志对象由多个日志段对象组成,而每个日志段对象会 ...
- ACE库中ACE_Msg_Log日志对象浅论
引言 ACE库提供了ACE_Msg_Log类实现较为全面的日志功能.对于该类的基本使用已经有不少文章谈论过.本文对其中几点需要注意的地方进行说明,帮助大家更好地使用该类. 1. 线程安全性 ...
- log4j对象改变日志级别
log4j对象改变日志级别可批量的改变所有级别,或是根据条件改变日志级别. log4j配置文件: log4j.rootLogger=ERROR,FILE,CONSOLE,EXECPTION #log4 ...
- 魔方APP项目-02-服务端项目搭建,创建manage.py文件、构建全局初始化函数创建app应用对象、通过终端脚本启动项目、项目加载配置、数据库初始化、日志初始化、蓝图初始化
服务端项目搭建 新建项目目录mofangapi,并创建虚拟环境 mkvirtualenv mofang 安装开发中使用的依赖模块 pip install flask==0.12.4 pip insta ...
- Java 原生日志 java.util.logging
简介 Java 中的 Logging API 让 Java 应用可以记录不同级别的信息,它在debug过程中非常有用,如果系统因为各种各样的原因而崩溃,崩溃原因可以在日志中清晰地追溯,下面让我们来看看 ...
- java util logging_Java 日志系列篇一 原生 Java.util.logging
本文网大多网络整理所得,出处太多,不一一列举 简介 Java 中的 Logging API 让 Java 应用可以记录不同级别的信息,它在debug过程中非常有用,如果系统因为各种各样的原因而崩溃,崩 ...
- Java之动态代理类实现日志简单实例
开心一笑 上课呢,同桌撕了一片纸放嘴里了咬了咬,又吐回了手里. 揉了揉,揉成个球状,然后又把这东西给放嘴里,咽下去了. 我问:你干嘛呢? 这二货幽幽地说:这两天有点感冒,捏个药丸吃. 视频教程 大家好 ...
- 【Web UI自动化测试】Web UI自动化测试之日志收集篇(全网最全)
本文大纲截图: 1.日志介绍[文末免费分享自动化测试学习资源] 日志: 用于记录系统运行时的信息,对一个事件的记录,也称为Log. 日志作用: 1)调试程序 2)了解系统程序运行的情况是否正常 3)系 ...
最新文章
- Top K算法问题的实现
- CCNA第二学期中文final
- MyBatis复习(六):MyBatis二级缓存
- [BZOJ1135][P3488][POI2009]LYZ[线段树+Hall定理]
- 性能测试指标(重要)
- 图像拼接——APAP算法
- 高斯win和linux,微软雅黑在 win 和 Linux 下安装使用的对比
- R:怎么在混合模型中分析随机效应的显著性
- K线形态识别—K线反转形态之底部反转形态
- 邯郸市信息产业局关于参加2007’中国河北软件与信息服务业发展国际论坛的通知...
- count distinct
- 如何理解扩张卷积(dilated convolution)
- 【考研资源】考研资料怎么找?这些资源网站一定要知道!
- 【问题解决】Invalid bound statement(not found)
- 最全MySQL面试题和答案
- The table xxxx is full处理
- 获取root权限及破解原理分析
- 蝉知 路径index.php,蝉知CMS系统部署中的一些问题的解决方法
- Excel实现双Y轴折线图(四条折线中有两个主轴两个副轴)
- C++与C语言02 结构体区别
热门文章
- 字典树(Trie树)的实现及应用
- SysUtils.AdjustLineBreaks - Unix 与 Windows 的换行符互换
- 腾讯云dts使用注意事项
- mysql hibernate id generator,hibernate annoation (三 id生成器)
- jquery validation用法
- [渝粤教育] 浙江大学 物理光学实验及仿真 参考 资料
- 【渝粤教育】国家开放大学2018年春季 3819-21T燃气安全管理 参考试题
- 【渝粤教育】国家开放大学2018年春季 0653-21T机电控制与可编程控制技术 参考试题
- 应用机器学习(二):k-NN 分类器
- SQL Server和Oracle数据库索引介绍