Skip to content

Process-sharable log files using O_APPEND/FILE_APPEND_DATA #7

Closed
@nblumhardt

Description

@nblumhardt

These flags (Unix/Windows) provide atomic append to shared writeable files. Using these flags via .NET's FileSystemRights.AppendData, File() (and thus RollingFile()) should be able to support the sharing of log files by multiple processes without too many caveats.

A brief description of the API can be seen here.

Since this will most likely require us to pre-render each event into a single buffer to write atomically, we should get rid of the (allocation-lean but contention-heavy) IO-under-lock at the same time.

@DmitryNaumov thanks for bringing this up the other day - what do you think of this proposal?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions