     
     open func enumerateKeysWithPredicate(_ predicate: NSPredicate?, backward: Bool, startingAtKey key: String?, andPrefix prefix: String?, usingBlock block: LevelDBKeyBlock) {
         guard let db = db else {
-            print("Database reference is not existent (it has probably been closed)")
+            NSLog("Database reference is not existent (it has probably been closed)")
             return
         }
         let iterator = levelDBIteratorNew(db)
         var stop = false
         guard let iteratorPointer = iterator else {
-            print("iterator is nil")
+            NSLog("iterator is nil")
             return
         }
         _startIterator(iteratorPointer, backward: backward, prefix: prefix, start: key)

    
    open func valueForKey(_ key: String) -> [String : Any]? {
        guard let db = db else {
            print("Database reference is not existent (it has probably been closed)")
            return nil
        }
        var rawData: UnsafeMutableRawPointer? = nil

    
    open func removeValueForKey(_ key: String) {
        guard let db = db else {
            NSLog("Database reference is not existent (it has probably been closed)")
            return
        }
        let status = levelDBItemDelete(db, key.cString, key.length)
        if status != 0 {
            NSLog("Problem removing value with key: \(key) in database")
        }
    }
    
