前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用PHP创建完整的日志

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

作者头像
Lemon黄
发布2020-07-07 17:52:50
1.2K0
发布2020-07-07 17:52:50
举报
文章被收录于专栏:Lemon黄Lemon黄

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

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

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

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

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

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

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

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

创建数据库表

我们已经创建了数据库或选择了已经存在的数据库。在此步骤中,我们将创建一个表来存储日志。 您可以复制以下给定的查询,并在PHPMyAdmin的SQL查询选项中使用它来创建表。

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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; }
 ?>

用法

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

代码语言:javascript
复制
<?php 
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);
?>

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lemon黄 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用数据库存储自定义日志
  • 创建数据库表
  • 向数据库添加日志的功能
  • 用法
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档