从clojure ring应用程序中的日志中筛选敏感参数
在我的应用程序中,我正在使用wrap-with-logger-from和wrap-params-from-middleware。从日志中筛选敏感参数密码、信用卡号码等的简单方法?您可以实现自定义预记录器,根据需要筛选请求 见下文:从clojure ring应用程序中的日志中筛选敏感参数,clojure,ring,Clojure,Ring,在我的应用程序中,我正在使用wrap-with-logger-from和wrap-params-from-middleware。从日志中筛选敏感参数密码、信用卡号码等的简单方法?您可以实现自定义预记录器,根据需要筛选请求 见下文: (use 'ring.adapter.jetty) (require '[ring.middleware.logger :as logger]) (defn handler [request] {:status 200 :headers {"Content
(use 'ring.adapter.jetty)
(require '[ring.middleware.logger :as logger])
(defn handler [request]
{:status 200
:headers {"Content-Type" "text/html"}
:body "Hello World"})
(run-jetty
(logger/wrap-with-logger
handler
:pre-logger
(fn [options req]
;; Filtering goes here
(let [filtered-req (filter-sensitive-data req)]
((:info options) "Filtered requrest is: " filtered-req))))
{:port 8080})
注意,虽然预记录器只接受一个参数的文档,
您也可以考虑迁移到包括: 默认情况下,ring logger将在任何嵌套级别编辑授权标头或任何参数命名的密码。如果您希望ring logger编辑其他参数,可以配置编辑键选项: Ring logger将遍历参数和标题,并对在该编校键集中找到其名称的任何键进行编校还有一点应该可以使从环日志程序迁移到环日志程序变得非常容易如何获得%x使用环日志程序记录的有用请求id?@BobKuhar目前只有环日志程序onelog支持。将其添加到ring logger或ring logger Timber至少存在一个公开问题:。请随意插话。PRs也很受欢迎:
(wrap-with-logger app {:redact-keys #{:senha :token})