summaryrefslogtreecommitdiff
path: root/bs5/server/middleware/logs.ml
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-06-14 23:30:34 +0700
committerpolwex <polwex@sortug.com>2025-06-14 23:30:34 +0700
commitd8b3e15bec60f58defad13e961f80354d250235d (patch)
tree6a6f9158141bf40ea452a5913d72160362e0c472 /bs5/server/middleware/logs.ml
aaaaaa
Diffstat (limited to 'bs5/server/middleware/logs.ml')
-rw-r--r--bs5/server/middleware/logs.ml12
1 files changed, 12 insertions, 0 deletions
diff --git a/bs5/server/middleware/logs.ml b/bs5/server/middleware/logs.ml
new file mode 100644
index 0000000..6925ca4
--- /dev/null
+++ b/bs5/server/middleware/logs.ml
@@ -0,0 +1,12 @@
+let detailed_logger inner_handler request =
+ let method_str = Dream.method_to_string (Dream.method_ request) in
+ let path = Dream.target request in
+ let user_agent = Dream.header request "User-Agent" |> Option.value ~default:"unknown" in
+ let client_ip = Dream.client request in
+ let%lwt () =
+ Lwt_io.printf "%s %s %s - %s - %s\n" (Ptime_clock.now () |> Ptime.to_rfc3339) method_str path client_ip user_agent
+ in
+ let%lwt response = inner_handler request in
+ let status = Dream.status response |> Dream.status_to_int in
+ let%lwt () = Lwt_io.printf " -> %d\n" status in
+ Lwt.return response