Coverage report: /home/ellis/comp/core/lib/log/cfg.lisp

KindCoveredAll%
expression335 8.6
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; cfg.lisp --- Log Configuration
2
 
3
 ;; 
4
 
5
 ;;; Code:
6
 (in-package :log)
7
 
8
 (defconfig logger-config (ast)
9
   ((size :initform 10 :initarg :size)
10
    (level :initform :info :initarg :level :accessor level)))
11
 
12
 (defmethod pipe ((self logger-config))
13
   (ast self))
14
 
15
 (defmethod sink ((self logger-config))
16
   (last (pipe self)))
17
 
18
 (defmethod source ((self logger-config))
19
   (first (pipe self)))
20
 
21
 (defmethod make-config ((self (eql :logger)) &key ast pipe (size 10) (level :info))
22
   (make-instance 'logger-config :ast (or ast pipe) :size size :level level))
23
 
24
 (defun build-logger-config (cfg)
25
   (apply 'defpipe* (make-instance 'logger) (pipe cfg)))
26
 
27
 (defmethod build ((self logger-config) &key)
28
   (build-logger-config self))
29
 
30
 (defun default-logger-config ()
31
   (let ((cfg (make-config :logger)))
32
     (setf (ast cfg)
33
           `((level-filter :id :level-filter :level ,(level cfg))
34
             (tag-tree-filter :id :tag-filter) 
35
             (stream-sink :id :sink)))
36
     cfg))