gpt4 book ai didi

go - 如何更改水牛路由器记录的消息的优先级

转载 作者:行者123 更新时间:2023-12-01 22:25:07 25 4
gpt4 key购买 nike

为了清楚起见,我更新了问题 (按照要求)。

我使用 Buffalo 框架。我在日志中有很多消息,通知 Internet 上的某个人试图到达不存在的端点或使用服务不支持的 HTTP 方法。我认为,这些消息来自 Buffalo 的路由器(绝对不是来自我的代码)。以下是消息示例:“未找到方法:HEAD/some/path”。

问题:如何将这些消息的优先级从“错误”更改为“通知”或“信息”。在我看来,这样的高优先级对于指示客户端错误的消息是一个糟糕的选择,而不是在我的代码中。

原创内容:

为什么像“method not found: HEAD/some/path”这样的消息会以“error”优先级记录?如何将此类消息的优先级更改为“通知”或“信息”?原因:我不喜欢每次互联网上的一些 child 在我的网站上尝试新脚本时都被吵醒。

这是我的路由器配置:

    app.GET("/{path:.+}", fs)
app.GET("/", fs)
fs是正规的 http.Handler使用 buffalo.WrapHandler() 包裹.

最佳答案

我仔细研究了代码,似乎没有简单的方法可以做我想做的事(没有配置选项)。

但是可以提供自定义错误处理程序:

func App() *buffalo.App {
app = buffalo.New(buffalo.Options{
// ...
})
app.ErrorHandlers[405] = errorHandler
}
func errorHandler(status int, origErr error, c Context) error {
//...
}
defaultErrorHandler (在未提供自定义时使用)在其第 4 行中将错误消息写入日志。不幸的是,它也做了很多其他的事情。它有 74 行长,根据请求的内容类型和应用程序运行的环境(开发、测试、生产)提供不同的行为。由于它使用私有(private)函数和类型,因此不能轻易复制和粘贴。

好像我需要要求新功能。

关于go - 如何更改水牛路由器记录的消息的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60416633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com