我正在尝试以 JSON 格式获取 log4js 的输出,以便我可以轻松跟踪它。有什么方法可以在 configuration.json 中设置,以便 log4js 生成的输出采用 JSON 格式?
目前我正在使用以下配置。
{
"appenders": [
{
"category": "XXXXX",
"type": "dateFile",
"filename": "XXXXXXXX",
"pattern": "-from-MM-dd",
"layout": {
"type": "messagePassThrough"
}
},
{
"category": "XXXXXXXXX",
"type": "dateFile",
"filename": "XXXXXXXX",
"pattern": "-from-MM-dd",
"layout": {
"type": "messagePassThrough"
}
}
],
"levels": {
"XXXXConfig": "INFO",
"XXXXXjectConfig" : "INFO"
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的输出格式如下:
DEBUG: 1458562784032 : 2016-03-21T12:19:44.4444+00:00 : Data in request: : {
"action": "XXXXXXX",
"user": {
"username": "XXXX",
"id" : XXXX,
"pos" : XXXX
},
"version": …Run Code Online (Sandbox Code Playgroud) 尝试使用 axios 执行 POST 请求时出现此错误:
TypeError: data should be a string, Buffer or Uint8Array
Run Code Online (Sandbox Code Playgroud)
这是我的代码片段:
var fs = require('fs'),
axios = require('axios');
var FormData = require('form-data');
var form = new FormData();
form.append('file', fs.createReadStream("qa_test_file_DOC.txlf"));
form.append('extractArchive', false);
let request_config = {
headers: {
'Authorization': `Bearer eyJhbGciOiJIUzI1NXXXX.....`,
...form.getHeaders()
}
}
let reqUrl = "https://XXXXX/XX/rest/v1/XXXXX";
try {
axios.post(reqUrl, form, request_config)
.then(function (response) {
console.log(response);
return callback(response);
})
.catch(function (error) {
console.log(error);
return callback(error);
});
} catch (ex) {
console.log("exception ", ex);
}
Run Code Online (Sandbox Code Playgroud)
尝试使用管道,以及大多数可能的解决方案。文件存在。不明白这里出了什么问题。Readstream 中有什么吗?感谢帮助。