Skip to content

Class: RollbackLogger ​

Defined in: src/write/logger.ts:112

Logs change entries for rollback support. Writes each entry as a JSON file in a temp directory.

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

Param ​

options

Rollback configuration.

Param ​

options.enabled

Enable rollback logging.

Default ​

ts
true

Param ​

options.maxSize

Max total log file size in bytes.

Default ​

ts
1048576

Param ​

options.maxAge

Max log file age in milliseconds.

Default ​

ts
86400000

Constructors ​

new RollbackLogger(options, realm, resolveConfig): RollbackLogger

Defined in: src/write/logger.ts:122

Parameters ​

ParameterType
optionsRollbackOptions | undefined
realmRealm
resolveConfigConfigResolver

Returns ​

RollbackLogger

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

Properties ​

enabled ​

enabled: boolean

Defined in: src/write/logger.ts:120

Accessors ​

entries ​

get entries(): readonly RollbackEntry[]

Defined in: src/write/logger.ts:141

Returns ​

readonly RollbackEntry[]

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

Methods ​

checkpoint() ​

checkpoint(): number

Defined in: src/write/logger.ts:144

Marks the current end of the rollback log for an operation.

Returns ​

number

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

disable() ​

disable(): void

Defined in: src/write/logger.ts:403

Disable logging and clear all stored entries without reverting.

Returns ​

void

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

discardSince() ​

discardSince(checkpoint): number

Defined in: src/write/logger.ts:255

Discards entries created after a failed Realm transaction.

Parameters ​

ParameterType
checkpointnumber

Returns ​

number

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

log() ​

log(entity, action, primaryKey, before, after): void

Defined in: src/write/logger.ts:187

Parameters ​

ParameterType
entitystring
actionLogAction
primaryKeyunknown
beforeunknown
afterunknown

Returns ​

void

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

rollbackAll() ​

rollbackAll(): void

Defined in: src/write/logger.ts:215

Rollback all entries in reverse order, then clear the log.

Returns ​

void

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

rollbackLast() ​

rollbackLast(): boolean

Defined in: src/write/logger.ts:223

Rollback the most recent entry. Returns false if log is empty.

Returns ​

boolean

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

rollbackSince() ​

rollbackSince(checkpoint): number

Defined in: src/write/logger.ts:248

Rolls back entries created after a checkpoint.

Parameters ​

ParameterType
checkpointnumber

Returns ​

number

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

rollbackTo() ​

rollbackTo(timestamp): number

Defined in: src/write/logger.ts:236

Rollback all entries at or after the given timestamp, in reverse order. Older entries are kept.

Parameters ​

ParameterType
timestampnumber

Returns ​

number

Number of entries rolled back.

This example requires Node.js.

ts
import type { RollbackLogger } from 'osu-files'

const logger = {} as RollbackLogger

return logger.entries.length

Released under the MIT License.