小编Pra*_*kar的帖子

nodejs 有没有办法以 JSON 格式打印 log4js 输出?

我正在尝试以 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)

javascript node.js log4js-node

5
推荐指数
1
解决办法
2817
查看次数

axios:数据应该是字符串、Buffer 或 Uint8Array

尝试使用 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 中有什么吗?感谢帮助。

javascript fs node.js axios

3
推荐指数
1
解决办法
1548
查看次数

标签 统计

javascript ×2

node.js ×2

axios ×1

fs ×1

log4js-node ×1