What is a log manager?

The role of a log manager is to maintain the durability of comitted transactions and for facilitating the rollback of aborted transactions in events of failures to ensure atomicity. How it does this is by maintaining a sequence of log records in the disk as well as some data structures in the memory. In the events of a crash the data structures need to be created from persistent data in the log as well as the database.
The common protocol used for database recovery is the WAL (Write Ahead Protocol):
- Every modification to the database must generate a log record and this log record should be flushed to the log device before the database page is flushed.
- All the log records must be flushed in order i.e. a log record p cannot be flushed until all the preceding log records are flushed.
- When a transaction commits a COMMIT log record must be flushed to the log before the commit request returns successfully. 
The crash recovery can also be done using checkpoints.