繁体   English   中英

如何更改 buffalo 路由器记录的消息的优先级

[英]How to change priorities of messages logged by buffalo router

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

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

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

原文内容:

为什么像“方法未找到:HEAD /some/path”之类的消息以“错误”优先级记录? 如何将此类消息的优先级更改为“通知”或“信息”? 原因:我不喜欢每次互联网上的一些小孩在我的网站上尝试新脚本时被吵醒。

这是我的路由器配置:

    app.GET("/{path:.+}", fs)
    app.GET("/", fs)

fs是使用buffalo.WrapHandler()包装的常规http.Handler

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

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

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 行,根据请求的内容类型和应用程序运行的环境(开发、测试、生产)提供不同的行为。 它不能轻易复制和粘贴,因为它使用私有函数和类型。

似乎我需要要求新功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM