PHP命令行腳本怎樣實(shí)現(xiàn)日志記錄

PHP
小樊
81
2024-11-06 00:11:32

在PHP命令行腳本中實(shí)現(xiàn)日志記錄,你可以使用內(nèi)置的file_put_contents()函數(shù)或者創(chuàng)建一個(gè)日志類(lèi)。下面是兩種實(shí)現(xiàn)方法:

  1. 使用file_put_contents()函數(shù):
<?php
// 定義日志文件路徑
$logFilePath = 'log.txt';

// 定義日志級(jí)別
$logLevel = 'INFO';

// 定義要記錄的信息
$message = '這是一條日志信息';

// 根據(jù)日志級(jí)別將日志信息寫(xiě)入文件
switch ($logLevel) {
    case 'DEBUG':
        $level = 1;
        break;
    case 'INFO':
        $level = 2;
        break;
    case 'WARNING':
        $level = 3;
        break;
    case 'ERROR':
        $level = 4;
        break;
    default:
        exit('未知的日志級(jí)別');
}

$timestamp = date('Y-m-d H:i:s');
$logEntry = "[$timestamp] [$logLevel] $message\n";

file_put_contents($logFilePath, $logEntry, FILE_APPEND);
  1. 創(chuàng)建一個(gè)日志類(lèi):
<?php
class Logger {
    private $logFilePath;

    public function __construct($logFilePath) {
        $this->logFilePath = $logFilePath;
    }

    public function log($level, $message) {
        $timestamp = date('Y-m-d H:i:s');
        $logEntry = "[$timestamp] [$level] $message\n";
        file_put_contents($this->logFilePath, $logEntry, FILE_APPEND);
    }
}

// 使用示例
$logger = new Logger('log.txt');
$logger->log('INFO', '這是一條日志信息');

這兩種方法都可以實(shí)現(xiàn)日志記錄功能,你可以根據(jù)自己的需求選擇合適的方法。

0