Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

about the Log File #2

Open
Rimin opened this issue Jul 14, 2019 · 1 comment
Open

about the Log File #2

Rimin opened this issue Jul 14, 2019 · 1 comment

Comments

@Rimin
Copy link

Rimin commented Jul 14, 2019

对于存储日志的文件是否开启,为什么文档上说“在我们的Node项目中不需要开启这个”?
且options中 并没有 "file" 也就是说明路径配置的选项。
另外我对于框架自带已有的日志输出如何动态配置和如何存储持有疑问。
谢谢

@Youjingyu
Copy link
Collaborator

Youjingyu commented Jul 14, 2019

“在我们的Node项目中不需要开启这个” 这句话是针对我们公司的场景说的,因为公司运维有自己的日志处理方式,不需要通过这个 logger 模块将日志输出到文件。开源的时候,这里的文档描述忘记修改了。我修改一下文档,避免误导。

daruk 默认是不会将日志输出到文件的,因为不同的公司对日志文件的处理方式可能不同,所以 daruk 没有绑定这里的实现。一般 dev 的时候就直接用 daruk 自带的 logger 输出美化的日志即可。线上的时候,将 logger 替换为自己的实现:

const prod = process.env.NODE_ENV === 'prod' || process.env.NODE_ENV === 'production';

const yourLogger = {
  info (msg:string) {
    // 这里按照你的需求处理日志,比如使用 Winston
    // 如果使用 pm2,直接 console 就会输出到文件
    console.log(msg);
  },
  debug (msg:string) {},
  warn (msg:string) {},
  error (msg:string) {},
  access (accessLogInfo:any, ctx: Context) {
    console.log(JSON.stringify(accessLogInfo));
  }
};

new Daruk('test-daruk', {
  rootPath: __dirname,
  debug: !prod,
  // 在生产环境下,会调用 yourLogger 输出日志
  customLogger: prod ? yourLogger : null
})

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants