Documentation
¶
Overview ¶
Package fileutil provides durable filesystem helpers shared by package main and internal/* packages (ADR-0003). It has no dependency on the rest of Culvert (stdlib only).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AtomicWrite ¶
AtomicWrite writes data to path atomically: it writes to a unique temp file in the same directory, chmods, fsyncs the file, renames over the target, and best-effort fsyncs the parent directory. A crash mid-write never leaves a partial or corrupt target file. Moved verbatim from package main's atomicWriteFile (ADR-0003); behaviour is unchanged.
Types ¶
type RotatingFile ¶ added in v1.0.16
type RotatingFile struct {
// contains filtered or unexported fields
}
RotatingFile wraps a log file and rotates it when it exceeds maxBytes.
func NewRotatingFile ¶ added in v1.0.16
func NewRotatingFile(path string, maxMB int) (*RotatingFile, error)
NewRotatingFile opens path for append and returns a writer that rotates the file to path+".1" when it exceeds maxMB (<=0 falls back to 50 MB).
func (*RotatingFile) Close ¶ added in v1.0.16
func (r *RotatingFile) Close() error
Close closes the underlying file.