有無論如何寫一個原型函數,或者只要調用console.log
就可以運行的函數? (並抓住console.log參數)。我的基於網絡的遊戲服務器的容量約爲100 KB,並且在我的代碼中有數百個console.log。我很樂意使用控制檯日誌數據,並稍後在基於Web的管理面板中使用這些信息。我想使用nodejs和FS。寫入文件是沒有問題的,我知道該怎麼做,但只是抓住console.log
就是問題所在。任何想法?如何擴展console.log?
2
A
回答
4
只需用自己的函數替換console.log
,這樣
// Store the original version, so that you can fall back to it
var originalLogger = console.log,
fs = require("fs"),
writeStream = fs.createWriteStream("logs.txt");
console.log = function() {
// Do your custom logging logic
for (var i = 0; i < arguments.length; i++) {
writeStream.write(arguments[i]);
}
// You can still call the original `console.log`, with all the `arguments`
originalLogger.apply(this, arguments);
}
console.log("Welcome");
+0
這很花哨。不知道你會爲我寫出來。謝謝你[非常感謝。](http://i.gyazo.com/f6c0bb743bf4cfb1660e6819e64b776f.png)我肯定會擴展並添加到它現在:D –
+1
@NiCkNewman你已經在第6行需要'fs'所以。 ,你不必在第13行再次這樣做:-) – thefourtheye
1
您可以重設的console.log到您的自定義日誌功能,演示代碼:
var fs = require('fs');
var util = require('util');
var l = fs.createWriteStream('abc');
console.log = function() {
var args = Array.prototype.slice.call(arguments)
l.write(util.format.apply(util, args));
l.write('\n');
}
相關問題
- 1. 如何使用console.log()調試Chrome擴展?
- 2. console.log - Chrome擴展程序不執行console.log,它只是跳過console.log
- 3. Chrome擴展程序:console.log檢測器
- 4. 我如何CONSOLE.LOG與我的Chrome擴展POST請求
- 5. jQuery:如何擴展擴展?
- 6. 如何擴展擴展類的接口
- 7. TYPO3 7.6.10:如何擴展felogin擴展?
- 8. 我如何在html中擴展視頻以擴展Chrome擴展
- 9. 如何使用web擴展firefox在終端的代碼中顯示console.log()?
- 10. 如何擴展XMLStreamReader?
- 11. 如何擴展divs?
- 12. 如何擴展WhitespaceTokenizer?
- 13. 如何擴展WC_Customer
- 14. 如何擴展testNG?
- 15. 如何擴展CachedDataAnnotationsModelMetadataProvider?
- 16. 如何擴展com.sun.jsf.mgbean.ManagedBeanBuilder
- 17. 如何擴展PagedResourceAssembler
- 18. 如何擴展Ext.tab.Panel
- 19. 如何擴展D3?
- 20. 如何擴展rich:treeNode
- 21. 如何擴展Ext.Ajax?
- 22. 如何擴展NSArray?
- 23. 如何擴展JPanel
- 24. 如何擴展jquery.mobile.scrollview?
- 25. 如何擴展scala.swing?
- 26. 如何擴展CassandraRepository
- 27. 如何擴展CAxHostWindow?
- 28. 如何擴展CodeLens
- 29. 如何擴展android.view.Surface?
- 30. 如何擴展Zend_Controller_Request_Http
你將不得不覆蓋'控制檯。 log'。爲什麼不直接使用'console.log'來代替'console.log'中的函數呢? – PHPglue
@ PHPglue這是否意味着用一個新函數搜索和替換每個'console.log(e)'? –
然後覆蓋它。 – PHPglue