0
我已经为log4javascript的自定义日志“appender”进行了第一次尝试。它可以工作,但它被卡在原始代码中。我想把我的扩展保存在一个单独的文件中,但我不了解其余的代码以便知道如何提取它。什么是扩展在JavaScript通用模块(UMD文件)中定义的类的正确方法
据我所知,log4javascript以某种方式尊重UMD模式,但是就我所知。
(尽管它不应该是...
(函数(根工厂){})(这一点,函数{})...
...相反的...
(功能(工厂,根){})(函数{})
... ???? *)
(function(factory, root) {
if (typeof define == "function" && define.amd) {
define(factory);
}
else if (typeof module != "undefined" && typeof exports == "object") {
module.exports = factory();
}
else {
root.log4javascript = factory();
}
})(function() {
:
Here be dragons . . .
:
/* -- - this code works from here, but not if I - -- */
/* -- - try to move it out to a file of its own - -- */
function MyAppender() {}
MyAppender.prototype = new Appender();
MyAppender.prototype.layout = new SimpleLayout();
MyAppender.prototype.append = function(loggingEvent) {
alert(this.getLayout().formatWithException(loggingEvent));
};
MyAppender.prototype.toString = function() {
return "MyAppender";
};
log4javascript.MyAppender = MyAppender;
/* -- - - - - - - - - - - - -- */
:
. . . and sea monsters
:
return log4javascript;
}, this);
如何在一个单独的文件中继承Appender?
AMD的支持,是最近此外,由于几个人要求它,并添加兼容的价格与模块加载器是附加复杂。一旦我确定了答案是什么,我会尽快回答:)可能长期的答案是让我把AMD和非AMD文件放回到未来的版本中。 – 2014-11-20 23:37:04
OH!你是编写log4javascript的Tim Down!我很荣幸!您可能有兴趣知道我刚刚成功将log4javascript嵌入Google Apps脚本并记录到Google Spreadsheet中。 ,如果你喜欢,你可以复制这个文件夹,它弄砸了:https://drive.google.com/drive/#folders/0B6GUFwft5liMTDhuZUtJSmszU28 当然,你需要搜索“VAR logSheet = SpreadsheetApp.openById “并用您自己的副本密钥替换电子表格密钥。 让我知道你是否有问题。 – 2014-11-21 01:14:43