如何查看访问日志和WordPress错误日志?

2024年 4月 19日 74.5k 0

如何查看访问日志和WordPress错误日志?

日志对于排除和调试 WordPress 网站上的问题非常有帮助。查看访问日志和 WordPress 错误日志非常简单。只需按照以下说明操作即可。

如何查看访问和 WordPress 错误日志

查看访问日志和 WordPress 错误日志有几种不同的方法,一种是通过服务器仪表板,另一种是直接下载原始日志文件。

  • 选项 1 – 服务器控制面板
  • 选项 2 – 通过 FTP 查看原始访问和 WordPress 错误日志
  • 选项 3 – 在 wp-config.php 文件中启用错误日志
  • 选项 4 – 通过 Kinsta API 查看日志
  • 选项 1 – 服务器控制面板

    以服务器提供商 Kinsta 为例,您可以在 MyKinsta 控制面板中访问日志。这是一种快速调试的方法,无需启动 FTP 客户端或命令行。

    只需点击进入您的一个 WordPress 网站,然后在左侧菜单中点击 Logs。在下拉菜单中选择您的偏好,即可查看 error.log、kinsta-cache-perf.log 和 access.log 文件。

    error.log 文件

    在 MyKinsta 日志查看器中查看 error.log 文件

    在 MyKinsta 日志查看器中查看 error.log 文件。

    kinsta-cache-perf.log 文件

    在 MyKinsta 日志查看器中查看 kinsta-cache-perf.log 文件

    在 MyKinsta 日志查看器中查看 kinsta-cache-perf.log 文件。

    access.log 文件

    在 MyKinsta 日志查看器中查看 access.log 文件

    在 MyKinsta 日志查看器中查看 access.log 文件。

    选项 2 – 通过 FTP 查看原始访问和 WordPress 错误日志

    查看日志的第二种方法是下载原始日志文件。首先,您需要通过 SFTP 连接到您的网站。然后在根目录下,你会看到一个名为 “logs” 的文件夹。

    "logs" 文件夹

    文件夹中包含访问日志、WordPress 错误日志和 Kinsta 缓存日志。

    • access.log
    • error.log
    • kinsta-cache-perf.log

    访问日志、WordPress 错误日志和 Kinsta 缓存日志

    对于较旧的日志存档,会自动创建 Gzip (.gz) 备份。有关 WordPress 的其他调试信息,请参阅代码集。

    选项 3 – 在 wp-config.php 文件中启用错误日志

    查看 WordPress 错误日志的最后一个方法是在 wp-config.php 文件中启用它们。首先,你需要通过 SFTP 连接到你的网站。然后下载你的 wp-config.php ,这样你就可以编辑它了。注意:一定要先备份该文件!

    下载 wp-config.php 文件

    下载 wp-config.php 文件

    找到写着 /* That's all, stop editing! Happy blogging. */ ,并在其前添加以下内容(如下所示):

    define( 'WP_DEBUG', true );

    WP_DEBUG

    WP_DEBUG

    如果上述代码已存在于 wp-config.php 文件中,但设置为 “false”,只需将其更改为 “true” 即可。这将启用调试模式。注意:如果存在警告或错误,你也会在 WordPress 管理中看到它们。

    然后,您可以在 WP_DEBUG 行后添加以下代码(如下所示),启用调试日志,将所有错误发送到一个文件:

    define( 'WP_DEBUG_LOG', true );

    WP_DEBUG_LOG

    WP_DEBUG_LOG

    保存更改并重新上传至服务器。错误信息将被记录到 /wp-content/ 文件夹中的 debug.log 文件中。如果由于某种原因看不到该文件,可以创建一个。

    选项 4 – 使用 Kinsta API 查看日志

    部分服务器还提供专门的API工具以实现服务器相关任务管理。比如 Kinsta API,就是一个功能强大的工具,可让您以编程方式与 Kinsta 服务(如托管 WordPress 网站)进行交互。API 还有一个端点,您可以用它来获取网站日志。

    要使用 Kinsta 的 API,您必须在 MyKinsta 中至少拥有一个 WordPress 网站、应用程序或数据库账户。您还需要生成一个 API 密钥来验证和访问您的账户。

    获得 API 密钥后,要使用 API 访问网站日志,您需要指定网站环境 ID。您可以通过 get site environment 端点以编程方式获取网站的环境 ID,该端点会返回网站环境的详细信息,包括其 ID:

    {
    "site": {
    "environments": [
    {
    "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
    "name": "first-site",
    "display_name": "First site",
    "is_blocked": false,
    "id_edge_cache": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
    "cdn_cache_id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
    "is_premium": false,
    "domains": [
    {
    "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
    "name": "example.com",
    "type": "live"
    }
    ],
    "primaryDomain": {
    "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
    "name": "example.com",
    "type": "live"
    },
    "ssh_connection": {
    "ssh_port": "808080",
    "ssh_ip": {
    "external_ip": "1xx.1xx.1xx.1xx"
    }
    },
    "container_info": {
    "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
    "php_engine_version": "php8.0"
    }
    }
    ]
    }
    }

    获得网站的环境 ID 后,就可以发送 GET 请求到

    https://api.kinsta.com/v2/sites/environments/{env_id}/logs?file_name=error&lines=100

    该请求包括要获取的日志文件(accesserror, 或 kinsta-cache-perf)以及要获取的日志行数:

    curl -i -X GET 
    'https://api.kinsta.com/v2/sites/environments/{env_id}/logs?file_name=access&lines=100' 
    -H 'Authorization: Bearer '

    将返回一个字符串,其中包含指定的日志行数:

    {
    "environment": {
    "container_info": {
    "logs": "mysite.kinsta.cloud ::1 [07/Dec/2023:00:02:01 +0000] HEAD "/wp-cron.php?server_triggered_cronjob" HTTP/2.0 200 "-" "curl/7.68.0" - "/wp-cron.php" - - 230 0.017 0.018nmysite.kinsta.cloud ::1 [07/Dec/2023:00:17:01 +0000] HEAD "/wp-cron.php?server_triggered_cronjob" HTTP/2.0 200 "-" "curl/7.68.0" - "/wp-cron.php" - - 230 0.139 0.139nmysite.kinsta.cloud ::1 [07/Dec/2023:00:32:01 +0000] HEAD "/wp-cron.php?server_triggered_cronjob" HTTP/2.0 200 "-" "curl/7.68.0" - "/wp-cron.php" - - 230 0.016 0.016nmysite.kinsta.cloud ::1 [07/Dec/2023:00:47:01 +0000] HEAD "/wp-cron.php?server_triggered_cronjob" HTTP/2.0 200 "-" "curl/7.68.0" - "/wp-cron.php" - - 230 0.015 0.015n"
    }
    }
    }

    然后就可以格式化输出,用 n 换行符分隔每一行。例如,您可以使用 JavaScript 的 split() 方法:

    const logsData = {
    "environment": {
    "container_info": {
    "logs": "string"
    }
    }
    };
    const logsString = logsData.environment.container_info.logs;
    // Splitting the logs string into an array of log entries based on the newline character 'n'
    const logEntries = logsString.split('n');
    console.log(logEntries);

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论