---
title: 日志
slug: docs-ch/platform/parse-server-logs
description: 了解如何在Back4App上访问系统、信息、错误和访问日志，跟踪应用程序事件，识别代码问题。适合软件开发者的技术指南。
image: https://www.back4app.com/_public/img/back4app-og.png
createdAt: 2024-01-31T12:48:04.764Z
---

# 解析服务器日志

## 介绍

在本指南中，您将了解在 Back4App 仪表板上可以找到的日志。

## 目标

- 了解日志：
- 系统
- 信息
- 错误
- 访问

## 先决条件

:::hint{type="info"}
**阅读此页面没有先决条件。**
:::

## 日志

在寻找日志吗？您来对地方了 :)

日志对于开发或生产应用程序至关重要，它是了解正在运行的进程的聚合输出发生了什么的重要方式。您必须能够跟踪应用程序的行为。

应用程序事件日志记录对于理解请求和识别代码中的可能循环或错误至关重要。

您可以在左侧菜单中查看它们，点击 <font color="#2166ae">`云代码`</font> > <font color="#2166ae">`日志`</font>。它看起来像下面的图像：

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/EbMZJzpBLUz4XsysY8K5i_image.png" size="50" width="296" height="339" position="center" showCaption="false"}

### 系统

系统日志*System Log* 显示了 <font color="#2166ae">`console.log()`</font> 和 <font color="#2166ae">`console.error()`</font> 以及与您的应用程序相关的所有一般日志。

### 信息

这里将出现关于云代码函数和触发器的警告，以及实时查询状态。

### 错误

与您的云代码函数或数据库相关的错误。

### 访问

此块包含有关 [请求](https://help.back4app.com/hc/en-us/articles/115001377071-What-is-an-API-request-) 的信息，这些请求正在进入服务器。该信息对于理解数据的访问来源、访问方式、访问者以及请求状态至关重要。

## 示例日志

在这里您可以找到一些 Back4App 日志的示例：

::::ExpandableHeading{isOpen="true"}
### 系统

:::BlockQuote
1   (node:19) \[DEP0066] 弃用警告：OutgoingMessage.prototype.\_headers 已被弃用
2   (node:19) 弃用警告：选项 \`reconnectInterval\` 与统一拓扑不兼容，请访问 http\://bit.ly/2D8WfT6 了解更多信息
3   (node:18) 弃用警告：选项 \`reconnectTries\` 与统一拓扑不兼容，请访问 http\://bit.ly/2D8WfT6 了解更多信息
:::

在 Back4App 中，parse-cache 模块在版本高于 2.8.4 时默认设置。因此，您也可能会看到一些来自 Parse Server 初始化的警告：

:::BlockQuote
1   使用 redis 缓存进行 query.cache() 方法
2   使用内存缓存进行 query.cache() 方法
3   服务器正在监听 3000 端口
:::

云代码语法错误：

:::BlockQuote
1   警告：未找到 main.js：要运行任何云代码函数，您需要首先创建一个 main.js 文件
2   加载您的云代码时出错：
3    /usr/src/app/data/cloud/main.js:186
:::

还有来自云代码触发器的 console.log：

:::BlockQuote
1   这是来自 beforeSave 触发器的日志
:::
::::

::::ExpandableHeading{isOpen="true"}
### 信息

当服务器 URL 和实时查询为一个类启用时，此部分将出现一条消息：

:::BlockQuote
1   Parse LiveQuery 服务器开始运行
:::

调用云代码函数也将在这里记录：

:::BlockQuote
1   为用户未定义运行云函数 helloWorld，输入：
2   输入：\{}
:::

运行没有返回语句的云代码函数：

:::BlockQuote
1   为用户未定义运行云函数 helloWorld，输入：
2   输入：\{}
3   结果：未定义
:::
::::

::::ExpandableHeading{isOpen="true"}
### 错误

超时错误：

:::BlockQuote
1   未捕获的内部服务器错误。超时1000毫秒超出
:::

云代码触发器错误（见下面的示例）：

```markdown
1  beforeSave失败，myClass用户未定义：
2    输入：{"Name":"Person","createdAt":"2021-06-16T17:12:54.863Z","updatedAt":"2021-06-16T17:17:14.717Z","objectId":"AsWn26ns4Q"}
3    错误：{"message":"您不能保存年龄低于18岁的人！","code":141}
```
::::

:::ExpandableHeading{isOpen="true"}
### 访问

```markdown
1   2974:431:c7dc:5bb0:51ec:6258:6a16:e12b - - [2021-06-16T16:48:32.352Z] "POST /serverInfo"  200  1毫秒  217字节_输入  732字节_输出
2   2974:431:c7dc:5bb0:51ec:6258:6a16:e12b - - [2021-06-16T16:47:26.879Z] "GET /classes/MyFirstClass"  200  50毫秒  248字节_输入  24字节_输出
3   2974:431:c7dc:5bb0:51ec:6258:6a16:e12b - - [2021-06-16T16:46:57.068Z] "PUT /classes/MyFirstClass/Ao2ezFUQrS"  200  9毫秒  240字节_输入  40字节_输出

```

在端点之后，我们可以验证响应状态代码。请查看下面的一些示例：

```markdown
1   200 = 请求成功。
2   201 = 请求成功，并且因此创建了一个新资源。这通常是POST或PUT请求后发送的响应。
3   204 = 无内容
4   400 = 错误请求
5   401 = 未授权
6   404 = 未找到
7   408 = 请求超时
8   500 = 内部服务器错误
9   502 = 错误网关
```

调用云代码函数也会出现在这里：

```markdown
1   2804:431:c7dc:5bb0:51ec:6258:6a16:e12b - - [2021-06-16T17:10:16.245Z] "POST /functions/hello"  200  2毫秒  2字节_输入  32字节_输出
```
:::

