这是我设置log4js的方式。
import log4js from 'log4js';
const logger = log4js.getLogger();
log4js.configure({
appenders: { log: { type: 'file', filename: 'logTofile.json' } },
categories: { default: { appenders: ['log'], level: 'ALL' } }
});
const app = express();
这是我如何检索json
app.get('/logtofile', (req, res, next) => {
let rawdata = fs.readFileSync('logTofile.json');
const log = JSON.parse(rawdata);
res.json(log);
});
这是它在 logTofile.json
上给出的输出呈现此
无论如何,我们可以在logTofile.json文件中获取要呈现的日志json吗?
答案 0 :(得分:1)
这是因为默认情况下,fs.readFileSync('logTofile.json');
将在缓冲区中读取。
您看到的输出是Buffer对象的JSON.parse
。
您必须将'utf8'
传递给fs.readFileSync
作为第二个参数。
fs.readFileSync('logTofile.json'); // Buffer
fs.readFileSync('logTofile.json', 'utf8'); // String
https://nodejs.org/dist/latest-v10.x/docs/api/fs.html#fs_fs_readfilesync_path_options