Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将PSR日志文件更改为每天仅一个_Php_Logging_Psr 0 - Fatal编程技术网

Php 如何将PSR日志文件更改为每天仅一个

Php 如何将PSR日志文件更改为每天仅一个,php,logging,psr-0,Php,Logging,Psr 0,我使用PSR记录器获取日志。但它只会为所有日期创建一个文件。我需要为每个日期获取单独的日志文件。怎么做 require_once '../../logger/vendor/autoload.php'; require_once '../../logger/Psr/Log/Logger.php'; use Katzgrau\KLogger\Logger; use Psr\Log\LogLevel; $logPath = '/var/www/html/lo

我使用PSR记录器获取日志。但它只会为所有日期创建一个文件。我需要为每个日期获取单独的日志文件。怎么做

    require_once '../../logger/vendor/autoload.php';
    require_once '../../logger/Psr/Log/Logger.php';
    use Katzgrau\KLogger\Logger;
    use Psr\Log\LogLevel;


    $logPath = '/var/www/html/logs';
    $logger = new Logger($logPath, LogLevel::DEBUG, array ( 'filename' => 'driver_api' , 'extension' => 'log' ));
    $logger->log( $level,  $message , $context);
`使用原木旋转器

protected function log_rotate($logpath, $filename, $extention){
    $logfilename = $logpath.'/'.$filename.'.'.$extention; //not needed when included
    $logfilestokeep = 15;
    $fileDate = '';



    if (file_exists($logfilename)) {
        if (date("Y-m-d", filemtime($logfilename)) !== date('Y-m-d')) {
            $fileDate = date("Y-m-d", filemtime($logfilename));
            $newName = $logpath .'/'.$filename. "_" . $fileDate.'.'.$extention;

            if (file_exists($logfilename)) {
                rename($logfilename, $newName);
            }

        }
    }
}

也许您可以使用log rotate做一些有趣的事情,但是为了便于修复,为什么不在文件名'filename'=>'driver_api'的末尾添加日期呢。日志旋转的数据(“d-m-Y”)检查这个@ElenaRoman谢谢你的想法。但是我需要保留今天的日志文件,没有日期。就像Apache错误日志一样。你对此有什么建议吗?