level-logs
Store multiple append only logs in leveldb.
npm install level-logs
Usage
var logs = db // where db is a leveluplogs
Running the above outputs
log: 'mathias'seq: 1value: 'hello'log: 'mathias'seq: 2value: 'world'
API
logs = levelLogs(db, [options])
Create a new logs instance. Options include
{
valueEncoding: 'json', // set a levelup value encoding
prefix: 'logs', // prefix all keys with this prefix
separator: '!' // use this as log key separator
}
logs.append(log, value, cb)
Append a value to a log.
logs.put(log, seq, value, [cb])
Insert a value into a log at position seq
. Normally you want seq to be the head of the log +1.
This method is useful if you want to cache the head position of the log somehow.
logs
logs.get(log, seq, cb)
Get a value from a log at position seq
logs.head(seq, cb)
The the head seq
of a log. If the log doesn't exist the head will be 0
logs
stream = logs.list()
Return a list of all logs names as a readable stream
var names = logsnames
key = logs.key(log, seq)
Get the leveldb key the value stored in a log at position seq
.
This is useful if you want to batch multiple operations together.
License
MIT