Table of Contents
The Logging subsystem is the logging facility used by Berkeley DB. It is largely Berkeley DB-specific, although it is potentially useful outside of the Berkeley DB package for applications wanting write-ahead logging support. Applications wanting to use the log for purposes other than logging file modifications based on a set of open file descriptors will almost certainly need to make source code modifications to the Berkeley DB code base.
A log can be shared by any number of threads of control. The DB_ENV->open() method is used to open a log. When the log is no longer in use, it should be closed using the DB_ENV->close() method.
Individual log entries are identified by log sequence numbers. Log sequence numbers are stored in an opaque object, an DB_LSN.
The DB_ENV->log_cursor() method is used to allocate a log cursor. Log cursors have two methods: DB_LOGC->get() method to retrieve log records from the log, and DB_LOGC->close() method to destroy the cursor.
There are additional methods for integrating the log subsystem with a transaction processing system:
Logging Subsystem and Related Methods | Description |
---|---|
DB_LSN | Log Sequence Numbers |
DB_ENV->log_compare() | Compare two Log Sequence Numbers |
DB_ENV->log_archive() | List log and database files |
DB_ENV->log_file() | Map Log Sequence Numbers to log files |
DB_ENV->log_flush() | Flush log records |
DB_ENV->log_printf() | Append informational message to the log |
DB_ENV->log_put() | Write a log record |
DB_ENV->log_stat() | Return log subsystem statistics |
Logging Subsystem Cursors | |
DB_ENV->log_cursor() | Create a log cursor handle |
DB_LOGC->close() | Close a log cursor |
DB_LOGC->get() | Retrieve a log record |
Logging Subsystem Configuration | |
DB_ENV->log_set_config() | Configure the logging subsystem |
DB_ENV->set_lg_bsize() | Set log buffer size |
DB_ENV->set_lg_dir() | Set the environment logging directory |
DB_ENV->set_lg_filemode() | Set log file mode |
DB_ENV->set_lg_max() | Set log file size |
DB_ENV->set_lg_regionmax() | Set logging region size |