webandco/flow-logrotate

此包最新版本(0.0.3)没有提供许可证信息。

安装: 30

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

类型:neos-webandco

0.0.3 2023-08-28 10:11 UTC

This package is auto-updated.

Last update: 2024-09-11 15:16:37 UTC


README

旋转日志和异常文件

安装

composer require webandco/flow-logrotate

配置

日志文件

对于日志文件轮转,我们使用 cesargb/php-log-rotation

有许多默认的日志文件,例如

  • systemLogger
  • securityLogger
  • sqlLogger
  • i18nLogger

例如,要旋转 systemLogger,您可以设置配置如下

Neos:
  Flow:
    log:
      psr3:
        Neos\Flow\Log\PsrLoggerFactory:
          systemLogger:
            default:
              class: Webandco\Logrotate\Log\Backend\RotateBackend
              options:
                compress: true
                truncate: false

Neos.Flow.psr3.Neos\Flow\Log\PsrLoggerFactory.systemLogger 替换为您想要旋转的任何记录器,例如 Neos.Flow.psr3.Neos\Flow\Log\PsrLoggerFactory.sqlLogger

异常

异常日志轮转是通过以下方式启用的

Neos:
  Flow:
    log:
      throwables:
        storageClass: Webandco\Logrotate\Log\ThrowableStorage\CleanupStorage
        optionsByImplementation:
          Webandco\Logrotate\Log\ThrowableStorage\CleanupStorage:
            storagePath: '%FLOW_PATH_DATA%Logs/Exceptions'
            maximumDirSize: 10485760
            logFilesToKeep: 3
            compress: true
            compressedArchivesToKeep: 10
            compressInterval: 'P1D'
            compressionAlgorithm: 'gz'
            archiveName:
              prefix: 'Exceptions.'
              dateTime: 'Y-m-d'
              postfix: '.tar.gz'
            # Pattern for archives of interest
            archiveGlob: 'Exceptions.*.tar.gz'
            # Pattern for files of interest
            glob: '*.txt'

由于每个异常都写入一个单独的异常 txt 文件,因此这些文件不会轮转,而是自动删除。如果启用了压缩(使用 compress: true),那么如果记录异常,则将所有异常文件压缩到归档中,除了那些被认为是当前(即 now())压缩间隔的异常文件。
这意味着,如果您有 compressInterval: 'P1D' 并且发生异常,它将保持原样。如果明天再次发生异常,昨天的第一个异常将被压缩,而当前的异常将保持原样在异常 txt 中。

测试

要测试设置,您可以通过隐藏的 CLI 命令生成日志消息。
要测试异常,请使用

./flow rotate:log --exception --howmany=2

要测试日志消息,请使用

./flow rotate:log --howmany=2 --level=error --words=5 --logger=systemLogger

logger 的可能选项是 Settings 中 Neos.Flow.log.psr3.Neos\Flow\Log\PsrLoggerFactory 中找到的选项

  • systemLogger
  • securityLogger
  • sqlLogger
  • i18nLogger 和可能的自定义记录器配置。