summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2025-11-29 13:45:29 +0100
committerMarius Peter <dev@marius-peter.com>2025-11-29 13:45:29 +0100
commit086ba55a15dc04914cba500f7ead61dec5490162 (patch)
treec2147f7f7d7802b43b44e90c37de802761a31b8c
parentf54e5bda270d55a91f62be9cacbbcd1d3f1a0884 (diff)
Add debug facilities.
-rw-r--r--README.org2
-rw-r--r--db/conn.rkt15
-rw-r--r--debug.rkt11
-rwxr-xr-xrun_development.sh9
4 files changed, 32 insertions, 5 deletions
diff --git a/README.org b/README.org
index 0b7a9bd..13b173f 100644
--- a/README.org
+++ b/README.org
@@ -8,5 +8,7 @@
- =FERTI_ENVIRONMENT= :: Can be either =development= or =production=.
Default value is =production=, which is more secure (password
required everywhere, no debug traces).
+- =FERTI_DEBUG= :: Can be either =true= or =false=. Default value is
+ =false=.
- =FERTI_USER= :: User used to log into the web app.
- =FERTI_PASS= :: Password used to log into the web app.
diff --git a/db/conn.rkt b/db/conn.rkt
index 42a75c0..11abc19 100644
--- a/db/conn.rkt
+++ b/db/conn.rkt
@@ -1,22 +1,27 @@
#lang racket
-(require db)
-
(provide current-conn
connect!
disconnect!
with-db
with-tx)
+(require db
+ "../debug.rkt")
+
(define current-conn (make-parameter #f))
(define (connect! #:path [path 'memory])
- (unless (connection? (current-conn))
- (current-conn (sqlite3-connect #:database path #:mode 'create))))
+ (if (connection? (current-conn))
+ (debug-log (format "Connection already instantiated: ~a" (current-conn)))
+ (begin
+ (current-conn (sqlite3-connect #:database path #:mode 'create))
+ (debug-log (format "Connection instantiated: ~a" (current-conn))))))
(define (disconnect!)
(disconnect (current-conn))
- (current-conn #f))
+ (current-conn #f)
+ (debug-log "Connection disconnected."))
(define-syntax-rule (with-db body ...)
(begin
diff --git a/debug.rkt b/debug.rkt
new file mode 100644
index 0000000..0d93557
--- /dev/null
+++ b/debug.rkt
@@ -0,0 +1,11 @@
+#lang racket
+
+(provide debug-enabled?
+ debug-log)
+
+(define debug-enabled?
+ (make-parameter (let ([env (getenv "FERTI_DEBUG")]) (and env (equal? env "true")))))
+
+(define (debug-log message)
+ (when (debug-enabled?)
+ (displayln message)))
diff --git a/run_development.sh b/run_development.sh
new file mode 100755
index 0000000..ee49082
--- /dev/null
+++ b/run_development.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+export FERTI_ENV=development
+export FERTI_DEBUG=true
+
+export FERTI_USER=admin
+export FERTI_PASS=admin
+
+racket main.rkt
Copyright 2019--2026 Marius PETER