创建时间戳记YAML日志文件

时间:2019-08-06 15:27:20

标签: yaml

每次尝试启动程序时,我都试图创建一个日志文件。我设法将其记录到静态文件(mylogs.log)中,但是我希望它在加载时创建一个新文件并追加到该文件。

logging:
  disable_existing_loggers: false
  formatters:
    simple:
      format: '%(asctime)s - {{login}} - %(name)s - %(levelname)s - %(message)s'
  handlers:
    file_handler:
      class: logging.FileHandler
      level: INFO
      formatter: simple
      filename: /home/pi/myprogram/logs/mylogs.log
      encoding: utf8

  loggers:
    MyProgram:
      handlers:
      - file_handler
      level: INFO
      propagate: 'no'
    Persistence:
      handlers:
      - file_handler
      level: INFO
      propagate: 'no'
  root:
    level: INFO
  version: 1

这个(文件名:/home/pi/myprogram/logs/mylogs.log)可以正常工作,但是我希望它创建一个新的日志文件。例如:2019-08-06-22:59:59_mylogs.log。程序重新启动时,它将使用当前时间戳创建一个新文件。例如:2019-08-07-01:01:00_mylogs.log。

1 个答案:

答案 0 :(得分:0)

以下配置可让您每天使用以下格式的新文件: logger_server.log.2020-03-17 。基于此,您可以查看在哪里进行更改以获取所需的输出。

   logging:
pattern-formatters:
  LOG_FORMATTER:
    pattern: "CUSTOM LOG FORMAT %p [%c] %s%e%n"
periodic-rotating-file-handlers:
  FILE:
    file:
      path: logger_server.log
    suffix: .yyyy-MM-dd
    named-formatter: LOG_FORMATTER
root-logger:
  handlers:
  - CONSOLE
  - FILE

sample code