log4js创建一个空文件。我已经看过(很多)其他时候这些人在SO上发生的答案,但似乎没有一个与我相关。这是我的代码:
// Configure logging.
require('log4js').configure('log4js.json');
var logger = require('log4js').getLogger();
logger.info('Starting Engine');
我的log4js.json文件很标准:
{
"appenders": [
{
"type": "file",
"filename": "main.log",
"maxLogSize": 20480,
"backups": 3,
"category": "relative-logger"
}
]
}
这个项目有没有实际的文档?对于真正的log4j来说,它感觉就像是一个可怜的表兄弟,而且他们只是浪费了log4j的良好声誉。
编辑:
这是一个实例的单词副本(惊喜)并不起作用:
var log4js = require('log4js');
log4js.configure({
appenders: [
{ type: 'console' },
{ type: 'file', filename: "test.log", category: 'my_project' }
]
});
var logger = log4js.getLogger('my_project');
//logger.setLevel('DEBUG');
logger.log('Why does node.js not have any decent logging frameworks??');
返回以下内容:
return this.level <= otherLevel.level;
^
TypeError: Cannot read property 'level' of undefined
at Level.isLessThanOrEqualTo (xxxx\node_modules\log4js\lib\levels.js:41:34)
at Logger.isLevelEnabled (xxxx\node_modules\log4js\lib\logger.js:63:21)
at Logger.log (xxxx\node_modules\log4js\lib\logger.js:56:12)
答案 0 :(得分:3)
您似乎错误地使用了log4js。在对象记录器中没有名为log的函数。请使用以下任何一项:
logger.trace(&#39;进入奶酪测试&#39;);
logger.debug(&#39;得到奶酪。&#39;);
logger.info(&#39; Cheese是Gouda。&#39;);
logger.warn(&#39;奶酪很臭。&#39;);
logger.error(&#39; Cheese%s太成熟了!&#39;,&#34; gouda&#34;);
logger.fatal(&#39;奶酪是李斯特菌的滋生地。&#39;);
答案 1 :(得分:0)
因此。这个问题(我现在还不确定为什么)就是这个:
require('log4js').configure('log4js.json');
var logger = require('log4js').getLogger();
需要这样写:
var log4js = require('log4js');
log4js.configure('log4js.json');
var logger = log4js.getLogger();
聪明并且在log4js上执行两次require()似乎会导致混乱。