Laravel自定义log文件路径以及名称

2024-02-22  本文已影响0人  可望不可j
时间是标准时间格式,输出是打印数组(不喜勿喷!)
// 采用的是monolog包
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;
 
class MonologModel
{

    /**
     * 记录日志
     * @param string $dev_id
     * @param string $str 日志前缀
     * @param string | array $message
     */
    public static function MlogAdd($dev_id,$str,$message=''){

        $dateFormat = "Y-m-d H:i:s";
        $output = "[%datetime%] %channel%.%level_name%: %message% %context%\n"; // 输出格式
        $formatter = new LineFormatter($output, $dateFormat,true,true);

        $fileHandler = new StreamHandler(storage_path('logs/'.date('Ymd').'/'.$dev_id.'.log'), Logger::DEBUG,true,0755);
        $fileHandler->setFormatter($formatter);
        $logger = new Logger('debug');
        $logger->pushHandler($fileHandler);

        if(is_array($message)){
            $logger->debug($str.'-----'.print_r($message,true));
        }else{
            $logger->debug($str.'-----'.$message);
        }
        return true;
    }
}

上一篇 下一篇

猜你喜欢

热点阅读