如何通过 webhook 将 heroku 日志发送到不和谐?
Posted
技术标签:
【中文标题】如何通过 webhook 将 heroku 日志发送到不和谐?【英文标题】:How to send heroku logs to discord via webhooks? 【发布时间】:2021-05-19 23:40:20 【问题描述】:我看到heroku cli,通过-tail
实时登录很酷
但是如何通过 webhook 将实时日志记录发送到 discord(例如 curl 或分别通过 cli 或编码获取节点。)?
【问题讨论】:
Discord 不是日志服务,以这种方式使用它违反了他们的服务条款。 【参考方案1】:Ps:最好的方法就在这里,而且有效! 模块文件:
const fetch = require("rovel.js");
function log(text)
fetch(process.env.CONSOLE_LOG,
method: "POST",
headers:
"Content-Type": "application/json"
,
body: JSON.stringify(
"username": "RDL console.log",
"content": text
)
)
globalThis.logg(text);
function error(text)
fetch(process.env.CONSOLE_LOG,
method: "POST",
headers:
"Content-Type": "application/json"
,
body: JSON.stringify(
"username": "RDL console.error",
"content": text
)
)
globalThis.logerr(text);
function warn(text)
fetch(process.env.CONSOLE_LOG,
method: "POST",
headers:
"Content-Type": "application/json"
,
body: JSON.stringify(
"username": "RDL console.warn",
"content": text
)
)
globalThis.warnn(text);
module.exports = log, error, warn;
然后导入:
const loggy = require("@utils/loggy.js");
globalThis.logg = console.log;
globalThis.console.log = loggy.log;
globalThis.logerr = console.error;
globalThis.console.error = loggy.error;
globalThis.warnn = console.warn;
globalThis.console.warn = loggy.warn;
globalThis.fetch = rovel.fetch;
(rovel.fetch 实际上是 node fetch 的一个副本。)
process.env.CONSOLE_LOG
是您要记录它的不和谐 webhook。
【讨论】:
【参考方案2】:您需要创建一个自定义 logdrain 并将其连接到您的 heroku 应用程序的 logplex。但是你不需要从头开始,这个存储库在python中有很好的解释和实现
https://github.com/abhi887/heroku2discord-logdrain
【讨论】:
【参考方案3】:所以我能够做到这一点的唯一方法是通过他们的通知创建一个 Heroku webhook,然后将其发送到 Zappier,然后发送到一个不和谐的 webhook。
【讨论】:
以上是关于如何通过 webhook 将 heroku 日志发送到不和谐?的主要内容,如果未能解决你的问题,请参考以下文章
如何解决 Heroku 应用程序错误(heroku 日志 --tail)
每当我尝试将我的 django 应用程序推送到 Heroku 时,我的日志文件中都会出现以下错误,请协助我应该如何解决它,