2016-12-13 13 views
5

Tôi sử dụng Cascade 'ed Monolog và định cấu hình trình ghi nhật ký bằng YAML. Đây là một phần của cấu hình của tôi:Mili giây trong Monolog Formatter LineFormatter (PHP)

formatters: 
    dashed: 
     class: Monolog\Formatter\LineFormatter 
     format: "%datetime%-%channel%.%level_name% - %message%\n" 

Đây là một dòng nhật ký định dạng:

2016-12-13 17:49:16-app.INFO - <message> 

quyền format giá trị cho \Monolog\Formatter\LineFormatter để có được dấu thời gian với mili giây là gì?

Trả lời

0

Trong dự án Symfony 2.6 của tôi, tôi đã sử dụng bộ xử lý nhật ký tùy chỉnh nên tôi đã thực hiện nhật ký dưới dạng dịch vụ, nếu nó có thể trợ giúp ở đây là đoạn mã của khai báo service.yml; nếu bạn nhìn vào logger_formatter, đối số thứ hai của lớp contructor là định dạng ngày:

mybundle.logger: 
     class:  Symfony\Bridge\Monolog\Logger 
     arguments: [mybundle] # channel 
     calls: 
      - [pushHandler, [@mybundle.logger_handler]] 
      - [pushProcessor, [@mybundle.logger_processor]] 

mybundle.logger_processor: 
     class:  myBundle\Logging\LogProcessor 
     arguments: ["@session"] 

mybundle.logger_handler: 
     class:  myBundle\Logging\myBundleRotatingFileHandler #Monolog\Handler\RotatingFileHandler 
     arguments: ["@session", %kernel.logs_dir%/LOGGER_SID/%kernel.environment%.mybundle.log, 0, 400] #DEBUG = 100; INFO = 200; NOTICE = 250; WARNING = 300; ERROR = 400; CRITICAL = 500; ALERT = 550; EMERGENCY = 600; 
     calls: 
      - [setFormatter, [@mybundle.logger_formatter]] 
      - [setFilenameFormat, ['{filename}','Y-m-d']] 

mybundle.logger_formatter: 
     class: Monolog\Formatter\LineFormatter 
     arguments: 
      - "[%%datetime%%]\t%%extra.remote_addr%%\t%%level_name%%\t%%message%%\t%%extra.request_uri%%\n" 
      - "Y-m-d H:i:s.u"