首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用PHP创建完整的日志

当我们想跟踪Web应用程序中执行的事件时,我们需要为其保存日志。

主要有2种用于保存日志以跟踪用户事件的方法。一种是保存日志文件,另一种是保存在数据库中。

通常,开发人员将IP地址和请求参数保存在DB中。

在本教程中,我将向您展示如何使用PHP保存完整的日志。

这种方法将帮助您添加与在Web应用程序中执行的特定事件有关的完整信息。

让我们看看如何创建完整的日志。

使用数据库存储自定义日志

您可以使用数据库创建表以保存完整的日志

创建数据库表

我们已经创建了数据库或选择了已经存在的数据库。在此步骤中,我们将创建一个表来存储日志。

您可以复制以下给定的查询,并在PHPMyAdmin的SQL查询选项中使用它来创建表。

CREATE TABLE complete_log(

id int(11) NOT NULL,

userid int(11) DEFAULT NULL,

platform varchar(30) DEFAULT NULL,

server text,

request text,

logtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP UPDATE CURRENT_TIMESTAMP) ENGINE = InnoDB DEFAULT CHARSET = utf8_general_ci;

向数据库添加日志的功能

在此步骤中,我们创建一个功能文件,该文件包含在要添加日志的每个页面上。

创建一个文件名functions.php

//连接到MySQL数据库

$con = mysqli_connect('host_name','user_name','password','db_name');

if (mysqli_connect_errno($con)) { trigger_error('Database connection failed: ' . mysqli_connect_error()); }

//在每个页面上调用的

function addCompleteLog($postvalues) {

global $con;

$query = "INSERT INTO `complete_log` SET";

foreach ($postvalues as $key => $value) {

$query .= "$key='$value'"; $query .= ","; }

$query = substr($query, 0, -1);

mysqli_query($con, $query);

$this->id = mysqli_insert_id($con);

return $this->id; }

?>

用法

下面的示例说明了如何使用此功能。要添加完整的日志时,请调用该函数。

include_once('functions.php');

$postvalues = new stdClass();

$postvalues->userid = $userid;

$postvalues->server = json_encode($_SERVER);

$postvalues->request = json_encode($_REQUEST);

$postvalues->platform = 'WEB';

$customerdata->addCompleteLog($postvalues);

?>

对于想在日志中存储完整信息的开发人员来说,这种方法非常有用。如果要添加自定义信息,则可以根据需要使用它。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200702A0RBTW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券