Thứ Tư, 24 tháng 10, 2018

CakePHP - Ghi nhật ký

Đăng nhập vào PHP là một nhiệm vụ rất dễ dàng. Bạn chỉ cần sử dụng một chức năng. Bạn có thể đăng nhập lỗi, ngoại lệ, hoạt động của người dùng, hành động được thực hiện bởi người dùng , cho bất kỳ quá trình nền nào như cronjob . 

Việc ghi dữ liệu trong PHP rất dễ dàng - hàm log () được cung cấp bởi LogTrait , là tổ tiên chung cho hầu hết các lớp PHP.

Cấu hình ghi nhật ký

Chúng ta có thể cấu hình log trong file config / app.php . Có một phần bản ghi trong tệp nơi bạn có thể định cấu hình các tùy chọn ghi nhật ký như được hiển thị trong ảnh chụp màn hình sau đây.

lập trình PHP
Lập trình PHP

Theo mặc định, bạn sẽ thấy hai mức nhật ký - lỗi và gỡ lỗi đã được định cấu hình cho bạn. Mỗi sẽ xử lý mức độ khác nhau của tin nhắn.


PHP hỗ trợ các mức ghi khác nhau như hình dưới đây

Khẩn cấp - Hệ thống không sử dụng được

Cảnh báo - Hành động phải được thực hiện ngay lập tức

Quan trọ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

Thông báo - Tình trạng bình thường nhưng quan trọng

Thông tin - Thông báo thông tin

Gỡ lỗi - Thông báo cấp độ gỡ lỗi

Ghi vào tệp nhật ký

Có hai cách mà chúng ta có thể viết trong tệp nhật ký.

Đầu tiên là sử dụng phương thức write () tĩnh . Sau đây là cú pháp của phương thức static write () .

Cú phápviết (số nguyên | chuỗi $ cấp , trộn $ message , string | array $ context[])
Thông số

Mức độ nghiêm trọng của thông điệp được viết. Giá trị phải là một số nguyên hoặc chuỗi khớp với một mức đã biết.

Nội dung tin nhắn để đăng nhập.

Dữ liệu bổ sung sẽ được sử dụng để ghi nhật ký tin nhắn. scopeChìa khóa đặc biệt có thể được thông qua để được sử dụng để lọc thêm các công cụ đăng nhập được sử dụng. Nếu một chuỗi hoặc một mảng chỉ mục số được truyền, nó sẽ được coi là scopekhóa. Xem Cake \ Log \ Log :: config () để biết thêm thông tin về phạm vi ghi nhật ký.
Trả lạiboolean
Sự miêu tảViết thông báo và kiểu đã cho cho tất cả các bộ điều hợp log được cấu hình. Bộ điều hợp được cấu hình được chuyển cả biến số $ và $. $ level là một trong các chuỗi / giá trị sau.
Thứ hai là sử dụng chức năng phím tắt log () có sẵn trên bất kỳ chức năng nào bằng nhật ký cuộc gọi LogTrait () sẽ gọi nội bộ Log :: write ()

Thí dụ

Thực hiện các thay đổi trong tệp config / routes.php như được hiển thị trong chương trình sau.

config / routes.php
<?php
   use Cake\Core\Plugin;
   use Cake\Routing\RouteBuilder;
   use Cake\Routing\Router;

   Router::defaultRouteClass('DashedRoute');
   Router::scope('/', function (RouteBuilder $routes) {
      $routes->connect('logex',['controller'=>'Logexs','action'=>'index']);
      $routes->fallbacks('DashedRoute');
   });
   Plugin::routes();
Tạo một tập tin LogexController.php tại src / Controller / LogexController.php . Sao chép mã sau trong tệp bộ điều khiển.

src / Controller / LogexController.php
<?php
   namespace App\Controller;
   use App\Controller\AppController;
   use Cake\Log\Log;

   class LogexsController extends AppController{
      public function index(){
         /*The first way to write to log file.*/
         Log::write('debug',"Something didn't work.");
         
         /*The second way to write to log file.*/
         $this->log("Something didn't work.",'debug');
      }
   }
?>
Tạo một thư mục Logexs tại src / Template và dưới thư mục đó tạo một tập tin View có tên là index.ctp . Sao chép mã sau vào tệp đó.

src / Mẫu / Logexs / index.ctp

Something is written in log file. Check log file logs\debug.log

Thực hiện ví dụ trên bằng cách truy cập URL sau.

http: // localhost: 85 / PHP / logex

Đầu ra

Khi thực hiện, bạn sẽ nhận được kết quả sau.

lập trình PHP
lập trình PHP chuyên nghiệp

Không có nhận xét nào:

Đăng nhận xét

lập trình PHP cho các nhà phát triển PERL

Chương này sẽ liệt kê những điểm tương đồng và khác biệt chính giữa PHP và PERL. Điều này sẽ giúp các nhà phát triển PERL hiểu PHP rất nhanh...