簡體   English   中英

更改自定義獨白文件的文件名

[英]Change filename on custom monolog file

我使用旋轉的獨白處理程序

monolog:
        channels: ['import']
        handlers:
            import_client:
                level: debug
                type: rotating_file
                max_files: 10
                path: '%kernel.logs_dir%/import.log'
                channels: [import_client]

除了我不喜歡文件名之外,其他所有方法都正常。 我得到import-2018-02-22.log
是否存在更改此格式的方法?

我希望文件名像import-"date(YmdHis)".log

可以重寫文件名格式嗎? 您有什么解決方案嗎?

RotatingFileHandler將記錄記錄到文件並每天創建一個日志文件。 它還將刪除早於$ maxFiles的文件。 但是,您應該將logrotate用於高配置設置,這僅是一種快速而骯臟的解決方案。

如您在原始RotatingFileHandler中所看到的:您可以更改旋轉日期格式

public function setFilenameFormat($filenameFormat, $dateFormat)

但是我在symfony monolog參考中看不到任何配置選項。 您可以使用以下方式致電服務

services:
    app.custom_rotating_service:
        # ...
        calls:
            - method: setFilenameFormat
              arguments:
                  - 'yourFilenameFormat'
                  - 'Ymd'

在我看來,如果沒有日期格式的附加值,您會陷入麻煩。

TLDR

  • 不可能有按小時/分鍾的日志文件和獨白
  • 在我看來,將日期格式或輪換頻率更改為處理程序的月/年似乎可行,但symfony monolog配置不支持。 您可以創建服務,並嘗試在創建服務等距時自動調用該方法
  • 如果您有旋轉日志的自定義需求,則應使用logrotate

我找到了解決方案,需要在配置處理程序中添加一個新參數:

date_format: 'YmdHms'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM