mirror of
https://github.com/penpot/penpot.git
synced 2026-08-06 04:48:39 +00:00
Merge pull request #8063 from penpot/niwinz-develop-auditlog-logging
✨ Add the ability to log using logging subsystem the audit events
This commit is contained in:
commit
f2d561eff7
@ -9,6 +9,7 @@
|
|||||||
(:require
|
(:require
|
||||||
[app.common.data :as d]
|
[app.common.data :as d]
|
||||||
[app.common.data.macros :as dm]
|
[app.common.data.macros :as dm]
|
||||||
|
[app.common.json :as json]
|
||||||
[app.common.logging :as l]
|
[app.common.logging :as l]
|
||||||
[app.common.schema :as sm]
|
[app.common.schema :as sm]
|
||||||
[app.common.time :as ct]
|
[app.common.time :as ct]
|
||||||
@ -223,7 +224,7 @@
|
|||||||
(some? tnow)
|
(some? tnow)
|
||||||
(assoc :tracked-at tnow))))
|
(assoc :tracked-at tnow))))
|
||||||
|
|
||||||
(defn- append-audit-entry!
|
(defn- append-audit-entry
|
||||||
[cfg params]
|
[cfg params]
|
||||||
(let [params (-> params
|
(let [params (-> params
|
||||||
(update :props db/tjson)
|
(update :props db/tjson)
|
||||||
@ -236,6 +237,16 @@
|
|||||||
(let [params (event->params event)
|
(let [params (event->params event)
|
||||||
tnow (ct/now)]
|
tnow (ct/now)]
|
||||||
|
|
||||||
|
(when (contains? cf/flags :audit-log-logger)
|
||||||
|
(l/log! ::l/logger "app.audit"
|
||||||
|
::l/level :info
|
||||||
|
:profile-id (str (::profile-id event))
|
||||||
|
:ip-addr (str (::ip-addr event))
|
||||||
|
:type (::type event)
|
||||||
|
:name (::name event)
|
||||||
|
:props (json/encode (::props event) :key-fn json/write-camel-key)
|
||||||
|
:context (json/encode (::context event) :key-fn json/write-camel-key)))
|
||||||
|
|
||||||
(when (contains? cf/flags :audit-log)
|
(when (contains? cf/flags :audit-log)
|
||||||
;; NOTE: this operation may cause primary key conflicts on inserts
|
;; NOTE: this operation may cause primary key conflicts on inserts
|
||||||
;; because of the timestamp precission (two concurrent requests), in
|
;; because of the timestamp precission (two concurrent requests), in
|
||||||
@ -243,7 +254,7 @@
|
|||||||
(let [params (-> params
|
(let [params (-> params
|
||||||
(assoc :created-at tnow)
|
(assoc :created-at tnow)
|
||||||
(update :tracked-at #(or % tnow)))]
|
(update :tracked-at #(or % tnow)))]
|
||||||
(append-audit-entry! cfg params)))
|
(append-audit-entry cfg params)))
|
||||||
|
|
||||||
(when (and (or (contains? cf/flags :telemetry)
|
(when (and (or (contains? cf/flags :telemetry)
|
||||||
(cf/get :telemetry-enabled))
|
(cf/get :telemetry-enabled))
|
||||||
@ -258,7 +269,7 @@
|
|||||||
(update :tracked-at #(or % tnow))
|
(update :tracked-at #(or % tnow))
|
||||||
(assoc :props {})
|
(assoc :props {})
|
||||||
(assoc :context {}))]
|
(assoc :context {}))]
|
||||||
(append-audit-entry! cfg params)))
|
(append-audit-entry cfg params)))
|
||||||
|
|
||||||
(when (and (contains? cf/flags :webhooks)
|
(when (and (contains? cf/flags :webhooks)
|
||||||
(::webhooks/event? event))
|
(::webhooks/event? event))
|
||||||
@ -312,4 +323,4 @@
|
|||||||
params (-> (event->params event)
|
params (-> (event->params event)
|
||||||
(assoc :created-at tnow)
|
(assoc :created-at tnow)
|
||||||
(update :tracked-at #(or % tnow)))]
|
(update :tracked-at #(or % tnow)))]
|
||||||
(append-audit-entry! cfg params)))))))
|
(append-audit-entry cfg params)))))))
|
||||||
|
|||||||
@ -62,6 +62,7 @@
|
|||||||
#{:audit-log
|
#{:audit-log
|
||||||
:audit-log-archive
|
:audit-log-archive
|
||||||
:audit-log-gc
|
:audit-log-gc
|
||||||
|
:audit-log-logger
|
||||||
:auto-file-snapshot
|
:auto-file-snapshot
|
||||||
;; enables the `/api/doc` endpoint that lists all the rpc methods available.
|
;; enables the `/api/doc` endpoint that lists all the rpc methods available.
|
||||||
:backend-api-doc
|
:backend-api-doc
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user