私はnodejsの初心者であり、ノードアプリがコンソールだけでなくファイルにもログを記録したいと考えていました。
これが私のコード構造です:
fpa_log4j.json :
{
"appenders": {
"fpa_file": {
"type": "file",
"filename": "fpa.log",
"maxLogSize": 10485760,
"backups": 10,
"compress": true
},
"screen": {
"type": "stdout",
"layout": {
"type": "coloured"
}
}
},
"categories": {
"default": {
"appenders": [
"fpa_file",
"screen"
],
"level": "trace"
}
}
}
config.js
var LOG4J_CFG = 'config/fpa_log4j.json';
var fs = require('fs');
var log4js = require('log4js');
var path = require('path');
LOG4J_CFG = path.resolve(LOG4J_CFG);
log4js.configure(JSON.parse(fs.readFileSync(LOG4J_CFG, 'utf8')));
....
....
module.exports = {
log4js,
....
....
}
app.js
var cfg = require('./config');
var log = cfg.log4js.getLogger("appMain");
log.info('FPA program STARTED!');
出力
[2017-12-04T03:20:17.791] [INFO] appMain - FPA program STARTED!
ただし、ログ ファイルは空のようです。
dir fpa.log
Volume in drive C is XXXXXXXXX
Volume Serial Number is XXXXXXXXXXXX
Directory of c:\fpaMain
12/04/2017 12:13 AM 0 fpa.log
1 File(s) 0 bytes
0 Dir(s) 12,242,776,064 bytes free
率直に言って、私は数日前にこの作業を行うことができました。しかし、その後、何かが変更されました (残念ながら、それが何であるかを思い出すことができません!) 推測すると、ファイルへのログインが停止しました。