Làm cách nào để đặt mức nhật ký tối thiểu trong Symfony?

Khung Symfony được sử dụng trong AtoM bao gồm một số tùy chọn ghi nhật ký có thể được tùy chỉnh dựa trên hoặc nhu cầu của quản trị viên hệ thống

Theo mặc định, hai tệp nhật ký được bao gồm trong thư mục

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
5 của AtoM. Nếu bạn nhìn vào thư mục này, bạn sẽ thấy hai tệp.
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
6 và
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
7. Bạn có thể xem nội dung của các tệp nhật ký này như vậy

Quản trị viên hệ thống hoặc quản trị viên có thể tùy chỉnh đầu ra của các nhật ký này, tùy thuộc vào thông tin nào cần thiết. Trong Symfony, đầu ra của các nhật ký này được kiểm soát bởi cài đặt trong tệp

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8 được tìm thấy tại
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
9

Các nhà máy trong Symfony là “các đối tượng cốt lõi mà framework cần trong suốt vòng đời của bất kỳ yêu cầu nào. Chúng được cấu hình trong tệp cấu hình

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8. ” Tệp
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8, giống như một số tệp cấu hình khác trong Symfony, là - “cách hiểu của chúng phụ thuộc vào môi trường symfony hiện tại. Các tệp này có các phần khác nhau xác định cấu hình sẽ khác nhau đối với từng môi trường. ”

Tệp

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8 trong AtoM có 4 cấu hình “nhà máy” nhận thức về môi trường chính được xác định.
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
3 [để sản xuất - i. e.
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
4 trong ứng dụng],
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
5 [không được AtoM sử dụng],
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
6 [để phát triển và gỡ lỗi - i. e.
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
7, khi trang web ở trong ] và
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8, là cài đặt mặc định được kế thừa bởi các nhà máy khác, trừ khi chúng được xác định rõ ràng hơn trong từng nhà máy và bị ghi đè. Theo Symfony

Khi symfony cần một giá trị từ tệp cấu hình, nó sẽ hợp nhất cấu hình tìm thấy trong phần môi trường hiện tại với cấu hình

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8. Phần
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8 đặc biệt mô tả cấu hình mặc định cho tất cả các môi trường. Nếu phần môi trường không được xác định, symfony sẽ quay lại cấu hình
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8

Ví dụ - cài đặt nhà máy gỡ lỗi

Đây là cài đặt mặc định cho nhà máy

php symfony log:rotate frontend prod --period=7 --history=10
2 trong
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
0

Lưu ý tham số cài đặt

php symfony log:rotate frontend prod --period=7 --history=10
4 được lồng trong nhà máy
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
6 - những thông số này có thể được thay đổi để thay đổi hành vi ghi nhật ký khi ở trong

Tham số

php symfony log:rotate frontend prod --period=7 --history=10
6 có một số tùy chọn cấu hình -
php symfony log:rotate frontend prod --period=7 --history=10
7 [cấu hình mặc định, có thể tổng hợp thông tin ghi nhật ký từ nhiều nguồn],
php symfony log:rotate frontend prod --period=7 --history=10
8 [thông tin ghi nhật ký nguồn đơn] và
php symfony log:rotate frontend prod --period=7 --history=10
9 [sẽ tắt ghi nhật ký - đây là cài đặt mặc định cho
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
3, để . Theo Symfony, “Nếu bạn không sử dụng
php symfony log:rotate frontend prod --period=7 --history=10
7, đừng quên chỉ định giá trị null cho tham số logger. ” Bạn có thể xem cài đặt tham số trên
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
3 để biết ví dụ

Tùy chọn

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
03 xác định cấp độ của bộ ghi. Có 8 giá trị có thể [được sắp xếp ở đây từ ưu tiên cao nhất đến thấp nhất]

  • KHẨN CẤP. Hệ thống không sử dụng được
  • BÁO ĐỘNG. Hành động ngay lập tức yêu cầu
  • chí mạng. điều kiện quan trọng
  • LỖI. điều kiện lỗi
  • CẢNH BÁO. điều kiện cảnh báo
  • LƯU Ý. Bình thường, nhưng đáng kể
  • THÔNG TIN. thông tin
  • GỠ LỖI. Nhắn tin cấp gỡ lỗi

Mức cài đặt càng thấp, càng nhiều sự kiện sẽ được thêm vào nhật ký. Vì vậy, nếu bạn đặt

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
03 thành KHẨN CẤP, bạn sẽ chỉ nhận được thông báo nhật ký về các lỗi nghiêm trọng khiến hệ thống không thể sử dụng được. Nếu bạn đặt
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
03 thành WARNING, bạn sẽ nhận được các thông báo ở mức WARNING, ERR, CRIT, ALERT và EMERG. Đặt
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
03 thành GỠ LỖI sẽ ghi nhật ký tất cả các sự kiện

ví dụ 1. Thêm một nhà máy cli để tăng ghi nhật ký

Bạn cũng có thể thêm các nhà máy mới vào tệp

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8 để tạo hồ sơ ghi nhật ký tùy chỉnh. Ví dụ: hãy tạo một nhà máy
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
08 mới, nhà máy này sẽ xác định cách chúng tôi ghi thông tin vào
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
6. Thêm phần sau vào tệp
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log

Sau khi bạn lưu các thay đổi của mình vào tệp

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8, bạn sẽ cần xóa bộ nhớ cache của ứng dụng

Bây giờ tất cả các sự kiện có cấp độ INFO hoặc cao hơn sẽ được đăng nhập vào

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
62

Các tệp nhật ký này có thể phát triển nhanh chóng. Tùy thuộc vào cài đặt ghi nhật ký và lưu lượng truy cập trang web của bạn, Symfony cảnh báo rằng “những tệp này có thói quen kỳ lạ là tăng thêm vài megabyte trong vài ngày. ” Bạn có thể sử dụng lệnh sau để xóa nhật ký của mình

Tài liệu Symfony cũng có các đề xuất xoay vòng nhật ký của bạn để có hiệu suất tốt hơn

Để có hiệu suất và bảo mật tốt hơn, bạn có thể muốn lưu trữ các bản ghi symfony trong một số tệp nhỏ thay vì một tệp lớn duy nhất. Chiến lược lưu trữ lý tưởng cho các tệp nhật ký là thường xuyên sao lưu và làm trống tệp nhật ký chính, nhưng chỉ giữ lại một số bản sao lưu hạn chế. Bạn có thể kích hoạt vòng quay nhật ký như vậy với khoảng thời gian 7 ngày và lịch sử [số lần sao lưu] là 10, như trong Liệt kê 16-7. Bạn sẽ làm việc với một tệp nhật ký đang hoạt động cùng với mười tệp sao lưu chứa lịch sử của bảy ngày, mỗi tệp. Bất cứ khi nào khoảng thời gian bảy ngày tiếp theo kết thúc, tệp nhật ký hoạt động hiện tại sẽ được sao lưu và bản sao lưu cũ nhất sẽ bị xóa

php symfony log:rotate frontend prod --period=7 --history=10

Các tệp nhật ký sao lưu được lưu trữ trong thư mục nhật ký/lịch sử/và có thêm ngày lưu chúng

ví dụ 2. Cho phép ghi nhật ký cấp cao trên sản xuất

Bạn có thể muốn ghi lại các lỗi cấp cao từ môi trường sản xuất của mình để có thể khắc phục sự cố gặp phải. Việc ghi nhật ký có thể ảnh hưởng đến hiệu suất của trang web của bạn, vì vậy bạn sẽ không muốn đặt môi trường sản xuất của mình để ghi nhật ký ở mức GỠ LỖI - nhưng có thể có những trường hợp bạn muốn ghi CẢNH BÁO và các thông báo cao hơn vào nhật ký của mình

Dưới đây là ví dụ về cách bạn có thể định cấu hình nhà máy

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
3 trong
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8 để ghi lại CẢNH BÁO và các thông báo cấp cao hơn trong
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
6. Trước tiên, hãy xem cài đặt mặc định cho
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
3

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
0

Theo mặc định, tùy chọn

php symfony log:rotate frontend prod --period=7 --history=10
6 trong tham số
php symfony log:rotate frontend prod --period=7 --history=10
4 được đặt thành sfNoLogger để sản xuất - nghĩa là không có gì được ghi lại theo mặc định. Dưới đây là một ví dụ về cách bạn có thể thay đổi các tham số này để ghi lại các cảnh báo và lỗi cấp cao trong tệp
cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
69 mới

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
6

Hãy nhớ sau khi lưu các thay đổi của bạn vào tệp

cli:
  logger:
    class: sfFileLogger
    param:
      level: info
      file: %SF_LOG_DIR%/qubit_cli.log
8. Xem thêm ghi chú ở trên trong Ví dụ 1 về xóa và luân phiên nhật ký

Các mức nhật ký khác nhau mà chúng ta có thể có trong độc thoại là gì?

Mức nhật ký độc thoại . DEBUG - detailed debug information. THÔNG TIN - sự kiện thú vị . THÔNG BÁO - sự kiện bình thường nhưng quan trọng . CẢNH BÁO - các trường hợp ngoại lệ không phải là lỗi .

Nhật ký Symfony ở đâu?

Theo mặc định, nhật ký Symfony được lưu trữ trong var/log/dev. log và var/log/prod. log trong thư mục dự án , tùy thuộc vào môi trường, nhưng những giá trị mặc định này có thể được thay đổi trong tệp cấu hình gói Monolog có tại config/packages/monolog.

Chủ Đề