changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/ffi/rocksdb/logger.lisp

changeset 607: 1a5828267b90
parent: c7f9bfc9570f
child: 5e57683a0c28
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 18 Aug 2024 21:37:07 -0400
permissions: -rw-r--r--
description: rocksdb logger function and callback macros
1 ;;; logger.lisp --- RocksDB Logger
2 
3 ;; RocksDB Logger Lisp FFI
4 
5 ;;; Code:
6 (in-package :rocksdb)
7 
8 (define-alien-routine rocksdb-logger-destroy void
9  (logger (* rocksdb-logger)))
10 
11 (define-alien-type rocksdb-log-function
12  (function void
13  (* t)
14  unsigned
15  c-string
16  size-t))
17 
18 (define-alien-routine rocksdb-logger-create-stderr-logger (* rocksdb-logger)
19  (log-level int)
20  (prefix c-string))
21 
22 (define-alien-routine rocksdb-logger-create-callback-logger (* rocksdb-logger)
23  (log-level int)
24  (fn (* rocksdb-log-function))
25  (priv (* t)))
26 
27 ;; logger callback
28 
29 (define-alien-callable rocksdb-log-default void
30  ((priv (* t))
31  (lev unsigned)
32  (msg c-string)
33  (len size-t))
34  (log:debug! priv lev msg len))