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