如何向机器人日志添加时间戳?

How do I add timestamps to bot logs?

有没有办法在我的机器人向控制台记录内容时添加时间戳? 例如,当它离开服务器时,它说:

I have been removed from the guild: "Server"

我希望它看起来像 [Day, Time]:

[May 10, 2022, 15:35] I have been removed from the guild: "Server"

使用自定义 log 函数(例如 client.log())而不是 console.log()。这允许您在不更改全局原型的情况下修改日志(不好的做法!)

Example of my TS discord bot's custom logger

它在每个函数上都以 log 的形式出现。请注意,此代码有点高级,因此可能会使新读者感到困惑。

您可以获取 Date 并使用简单模块对其进行规范化 moment.js

使用 npm i moment 在终端上安装它。

const moment = require("moment")
moment.locale("en")

client.on("guildDelete", async guild => {
console.log(`[${moment(Date.now()).format("LLL")}] I have been removed from the guild: ${guild.name}`)
})

你可以使用 log-timestamp npm 包来做到这一点!

步数:

  1. 在控制台中输入 npm i log-timestamp
  2. 将其粘贴到您的 index.js 主文件中!
require('log-timestamp')

一切就绪!现在您将在每次登录控制台时获得时间戳!