我使用Hapi.js创建了一个应用程序,我使用了良好的文件将日志写入文件,当我使用request.log()和server.log()方法时,它将日志写入文件。但我的要求是,当我使用console.log()时,它应该将其记录到文件中。因为我的所有文件中都没有请求或服务器对象。我怎样才能实现它?
这就是我配置记者的方式
myFileReporter: [{
"module": "good-squeeze",
"name": "Squeeze",
"args": [{
"request": "*",
"error": "*",
"response":"*",
"log":"*"
}]},
{
"module": "good-squeeze",
"name": "SafeJson"
},
{
"module": "good-file",
"args": ["./logs/log"]
}]
答案 0 :(得分:0)
由于console.log具有预定义的行为,您将需要覆盖它,或者创建一个新函数。例如:
const debugLog = (content) => {
request.log(content);
console.log(content);
};
答案 1 :(得分:0)
this answer来自Ludovic Feltz ...
// define a new console
var console=(function(oldCons){
return {
log: function(text){
oldCons.log(text);
// Your logging code here
},
info: function (text) {
oldCons.info(text);
},
warn: function (text) {
oldCons.warn(text);
},
error: function (text) {
oldCons.error(text);
}
};
}(window.console));
//Then redefine the old console
window.console = console;
这使您可以继续使用console.log
,同时保留其原始功能以及修改。
答案 2 :(得分:0)