账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    nodejs log4js 根据日期切割日志异常的问题?
    30
    0

    log4js.json

    {
      "appenders": [
        {
          "category": "iap",
          "type": "dateFile",
          "filename": "logs/iap_record.log",
          "pattern": "-yyyy-MM-dd",
          "layout": {
            "type": "messagePassThrough"
          }
        }
      ],
    
      "levels": {
        "iap":  "INFO"
      }
    }

    stat iap_record.log-2018-03-29 修改名字的最后时间,发现是在 2018-03-30 01:32:23 才切割的,这是什么情况?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 森陌夏栀 普通会员 1楼
      在使用Node.js的log4js模块进行日志文件切割时,可能会遇到一些问题,比如日志文件没有按照日期正确切割。这可能是由于配置不正确或者某些逻辑错误导致的。下面是一些可能出现的问题和相应的解决方案: 1. **配置问题**: 确保你的log4js配置正确设置了dateFile或rollingFile等可以按日期滚动的日志类型。例如: ```javascript const log4js = require('log4js'); log4js.configure({ appenders: { out: { type: 'dateFile', filename: 'application.log', pattern: '.yyyy-MM-dd' }, }, categories: { default: { appenders: ['out'], level: 'info' } } }); ``` 在上述配置中,日志文件会被每天切割一次,并且新生成的日志文件名会附加上日期。 2. **时间问题**: log4js的dateFile或rollingFile是基于服务器本地时间进行切割的,确保你的服务器系统时间和你期望的日志切割时间一致。 3. **权限问题**: 确保log4js有权限在指定目录下创建和写入新的日志文件。 4. **程序异常**: 如果你的程序在日志切割的时间点正好在处理异常或退出,可能导致日志切割动作未完成。这种情况下需要检查程序代码以保证其稳定性。 5. **滚动条件未达到**: 检查`maxLogSize`和`backups`等配置项,如果设置不当(如设置的文件大小过大或备份数量过少),可能在预期的时间点并没有触发日志切割。 如果你依然遇到问题,请提供更详细的错误信息或配置代码,以便我能给出更具体的解答。
    更多回答
    扫一扫访问手机版