package hal import ( "fmt" "os" ) type PageErrorLogger struct { file *os.File } func NewPageErrorLogger(path string) (logger *PageErrorLogger, err error) { logger = new(PageErrorLogger) os.Remove(path) logger.file, err = os.Create(path) return } func (logger *PageErrorLogger) handlePageError(address Address, write bool) { fmt.Fprintf(logger.file, "[page = %d offset = %d addr = %d write=%t]\n", address.PageNumber(), address.Offset(), address, write) } func (logger *PageErrorLogger) Close() error { return logger.file.Close() }