PSR-3-logger-interface
Giới thiệu . Hôm trước ngồi bắt đầu gõ PHP, nhưng mà đọc code covetion, có khi còn nhầm nhọt , vì quên chưa thuộc. Thế là thôi, quyết định ngồi đọc code convention thì kiếm được PSR0 to PSR4. Tham khảo bài viết về code convention của một bạn trên viblo, thấy PSR3 chưa được đề cập đến, nên kiếm ...
Giới thiệu .
- Hôm trước ngồi bắt đầu gõ PHP, nhưng mà đọc code covetion, có khi còn nhầm nhọt , vì quên chưa thuộc. Thế là thôi, quyết định ngồi đọc code convention thì kiếm được PSR0 to PSR4.
- Tham khảo bài viết về code convention của một bạn trên viblo, thấy PSR3 chưa được đề cập đến, nên kiếm tài liệu ngồi dịch, coi như bổ sung.
Logger Interface
-
Tài liệu này mô tả những interface phổ biến của logging libraries
-
Mục tiêu chính là việc sử dụng các thư viện so cho việc nhận các PsrLogLoggerInterface object sao cho việc ghi log một cách đơn giản và thông thường nhất.
Các Frameworks và các CMSs có thể custom từ các kế thừa các interface có sẵn cho mục đích của họ, tuy nhiên, nó nên được so sánh với tài liệu này. Điều này đảm bảo rằng thư viện bên thứ 3 của ứng dụng sử dụng chúng để viết log một cách tập trung.
-
Các từ khóa là MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMEND, MAY, OPTIONAL được sử dụng trong tài liệu này có thể giải thích rõ ràng hơn ở RFC 2119
-
Từ khóa implementor trong tài liệu này được hiểu là ai đó đang cài đặt LoggerInterface* trong các thư viện liên quan đến log, hoặc framework. Người dùng sử dụng logger là *user
Specification
Basic
-
LoggerInterface đưa ra 8 phương thức để viết logs theo 8 level của RFC 5424, bao gồm debug, info, notice, warning, error, critical, alert, emergency
-
Phương thức thứ 9 là log, nó đồng ý việc coi log là một level thấp nhất, gọi là mức cơ bản, và là them số đầu vào đầu tiên..
Việc gọi đén phương thức này, bởi các level khác của log level (8 level được đề cập bên trên nhé), thì kết quả trả về PHẢI (MUST) có cùng kêt quqar giống như việc gọi phương thức ở level-specific.
VIệc gọi phương thức không được định nghĩa ở specification PHẢI ném ra một PsrLogInvalidArgumentException nếu việc cái đặt không biết nó ower level nào. Người dùng KHÔNG NÊN(SHOULD NOT) sử dụng một custom level nếu không có những hiểu biết chắc chắn về việc cài đặt và hỗ trợ nó.
Messages
-
Mọi phương thức đều chấp nhận một string và string này được coi là message, hoặc một object có phương thức __toString().
Hiểu nôm nay như này, :