简单的日志方法按天写入或指定文件写入

class MyLogs
{
    /**
     * MyLogs constructor.
     * @param $msg  标记可为空
     * @param $message  规定传json或array
     * @param string $file 如果需要指定写入文件必传 不写入存在mylogs/mylogs下
     * @param string $day 如果需要按天写入传1
     */
    public static function MyLogs($message, $file = '', $day = '')
    {
        if (empty($file)) {
            $log_dir = storage_path('mylogs/mylogs');
        } else {
            $log_dir = storage_path('mylogs') . '/' . $file;
        }
        if (empty($day) && $day == 1) {
            $dayName = date('Y-m-d');
        } else {
            $dayName = '';
        }
        $files = $log_dir . $dayName . '.log';
        $dir_name = dirname($files);
        //判断是否存在文件夹,没有则创建
        //目录不存在就创建
        if (!file_exists($dir_name)) {
            //iconv防止中文名乱码
            mkdir(iconv("UTF-8", "GBK", $dir_name), 0777, true);
        }
        $time = date('Y-m-d H:i:s', time()) . ' ';
        //将错误日志记录写入文件中
        if (is_array($message)) {
            $message = json_encode($message, 1);
            file_put_contents($files, $time . $message . PHP_EOL, FILE_APPEND);
        } else {
            file_put_contents($files, $time . $message . PHP_EOL, FILE_APPEND);
        }
    }
}
发布了263 篇原创文章 · 获赞 46 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/qq_27229113/article/details/103686485