#include "leveldb/db.h"
|
|
#include "leveldb/env.h" // 添加对 Env 类的完整定义
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
using namespace leveldb;
|
|
|
|
int main() {
|
|
DB* db = nullptr;
|
|
Options op;
|
|
op.create_if_missing = true;
|
|
|
|
// 创建日志文件并将其关联到 Options 的 info_log
|
|
Logger* logger;
|
|
Status log_status = Env::Default()->NewLogger("leveldb_log.txt", &logger);
|
|
if (log_status.ok()) {
|
|
op.info_log = logger; // 正确设置 Logger 指针
|
|
} else {
|
|
cerr << "Failed to create logger: " << log_status.ToString() << endl;
|
|
}
|
|
|
|
Status status = DB::Open(op, "testWAL", &db);
|
|
assert(status.ok());
|
|
db->Put(WriteOptions(), "001", "leveldb");
|
|
string s;
|
|
db->Get(ReadOptions(), "001", &s);
|
|
cout<<s<<endl;
|
|
|
|
db->Put(WriteOptions(), "002", "world");
|
|
string s1;
|
|
db->Delete(WriteOptions(), "002");
|
|
db->Get(ReadOptions(), "002", &s1);
|
|
cout<<s1<<endl;
|
|
|
|
delete db;
|
|
return 0;
|
|
}
|