Also use anytime-path in log.rkt
This commit is contained in:
parent
cf74ffb0e2
commit
dfc9605cb6
2 changed files with 17 additions and 5 deletions
|
@ -136,7 +136,10 @@
|
|||
(error 'anytime-path "syntax source has no directory: ~v" stx))
|
||||
(datum->syntax
|
||||
stx
|
||||
`(let* ([syntax-to-root (build-path (path-only ,source) ,to-root)]
|
||||
`(let* ([source ,source]
|
||||
[dir-of-source (path-only source)]
|
||||
[_ (unless (path? dir-of-source) (error 'anytime-path "syntax source has no directory: ~v" ,source))]
|
||||
[syntax-to-root (build-path dir-of-source ,to-root)]
|
||||
[root (if (directory-exists? syntax-to-root)
|
||||
;; running on the same filesystem it was compiled on, i.e. it's running the source code out of a directory, and the complication is the intermediate compilation
|
||||
syntax-to-root
|
||||
|
|
15
src/log.rkt
15
src/log.rkt
|
@ -1,7 +1,7 @@
|
|||
#lang typed/racket/base
|
||||
(require racket/file
|
||||
racket/path
|
||||
racket/port
|
||||
racket/runtime-path
|
||||
racket/string
|
||||
typed/srfi/19
|
||||
"config.rkt")
|
||||
|
@ -14,11 +14,20 @@
|
|||
(define last-flush 0)
|
||||
(define flush-every-millis 60000)
|
||||
|
||||
(define-runtime-path log-file "../storage/logs/access-0.log")
|
||||
;; anytime-path macro expansion only works in an untyped submodule for reasons I cannot comprehend
|
||||
(module define-log-dir racket/base
|
||||
(require racket/path
|
||||
"../lib/syntax.rkt")
|
||||
(provide log-dir)
|
||||
(define log-dir (anytime-path ".." "storage/logs")))
|
||||
(require/typed (submod "." define-log-dir)
|
||||
[log-dir Path])
|
||||
|
||||
(define log-file (build-path log-dir "access-0.log"))
|
||||
(define log-port
|
||||
(if (config-true? 'access_log::enabled)
|
||||
(begin
|
||||
(make-directory* (simplify-path (build-path log-file 'up)))
|
||||
(make-directory* log-dir)
|
||||
(open-output-file log-file #:exists 'append))
|
||||
(open-output-nowhere)))
|
||||
|
||||
|
|
Loading…
Reference in a new issue