首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该在哪个文件中初始化Express.js中的对象?

我应该在哪个文件中初始化Express.js中的对象?
EN

Stack Overflow用户
提问于 2016-01-09 14:14:50
回答 1查看 858关注 0票数 1

我是Node.js和Express的新手。

我想使用log4js,但不确定应该在哪个文件中配置我的记录器。

是否有用于初始化的常规文件?如果没有,我应该在哪里创建一个新的配置文件?

谢谢:)

答案(基于@jFri00应答)

logger.js

代码语言:javascript
运行
AI代码解释
复制
'use strict';

var log4js = require('log4js');

log4js.configure({
  "appenders": [...]
});

var logger = log4js.getLogger("structuredLogger");

module.exports = logger

client.js

代码语言:javascript
运行
AI代码解释
复制
var logger = require('../../../../../config/logger.js');
logger.info('My message');

这个模块将使我能够:

  • 轻松配置log4js
  • 轻松地用另一个包替换log4js。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-09 15:23:44

需要初始化一次的模块的一个常见选项是创建自己的容器模块来进行初始化。然后,希望使用日志记录的其他每个模块都可以加载容器模块,如果没有初始化,容器模块将初始化日志记录。

代码语言:javascript
运行
AI代码解释
复制
// mylog.js

// initialization code will only be called the first time the module is loaded
// after that, the module is cached by the `require()` infrastructure
var log4js = require('log4js');
log4js.configure({
  appenders: [
    { type: 'console' },
    { type: 'file', filename: 'logs/cheese.log', category: 'cheese' }
  ]
});

module.exports = log4js;

然后,希望使用公共配置日志记录的每个模块都可以在模块顶部附近执行以下操作:

代码语言:javascript
运行
AI代码解释
复制
var log4js = require('./mylog.js');
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34699555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档