diff options
| author | Marius Peter <dev@marius-peter.com> | 2025-11-29 13:45:29 +0100 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2025-11-29 13:45:29 +0100 |
| commit | 086ba55a15dc04914cba500f7ead61dec5490162 (patch) | |
| tree | c2147f7f7d7802b43b44e90c37de802761a31b8c | |
| parent | f54e5bda270d55a91f62be9cacbbcd1d3f1a0884 (diff) | |
Add debug facilities.
| -rw-r--r-- | README.org | 2 | ||||
| -rw-r--r-- | db/conn.rkt | 15 | ||||
| -rw-r--r-- | debug.rkt | 11 | ||||
| -rwxr-xr-x | run_development.sh | 9 |
4 files changed, 32 insertions, 5 deletions
@@ -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 |