pub struct FileEventPersister { /* private fields */ }Expand description
File-based event persister using JSONL format with rotation
Events are written to date-partitioned JSONL files in the configured directory.
Files are named events-YYYY-MM-DD.jsonl with optional index suffix for
size-based rotation: events-YYYY-MM-DD.N.jsonl.
Implementations§
Source§impl FileEventPersister
impl FileEventPersister
Sourcepub async fn new(config: FileEventPersisterConfig) -> Result<Self>
pub async fn new(config: FileEventPersisterConfig) -> Result<Self>
Create a new file-based event persister
Creates the configured directory if it does not exist and opens the initial event file for writing.
Sourcepub fn events_written(&self) -> u64
pub fn events_written(&self) -> u64
Get the total number of events written since creation
Trait Implementations§
Source§impl EventEmitter for FileEventPersister
impl EventEmitter for FileEventPersister
Source§fn emit<'life0, 'async_trait>(
&'life0 self,
event: Event,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn emit<'life0, 'async_trait>(
&'life0 self,
event: Event,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Emit an event to the transport
Source§fn emit_batch<'life0, 'async_trait>(
&'life0 self,
events: Vec<Event>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn emit_batch<'life0, 'async_trait>(
&'life0 self,
events: Vec<Event>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Emit multiple events
Source§fn is_enabled(&self) -> bool
fn is_enabled(&self) -> bool
Check if the emitter is enabled/active
Source§impl EventPersister for FileEventPersister
impl EventPersister for FileEventPersister
Source§fn query_events<'life0, 'life1, 'async_trait>(
&'life0 self,
from: DateTime<Utc>,
to: DateTime<Utc>,
event_type_filter: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn query_events<'life0, 'life1, 'async_trait>(
&'life0 self,
from: DateTime<Utc>,
to: DateTime<Utc>,
event_type_filter: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Query events within a time range, optionally filtering by event type
Source§fn count_events<'life0, 'life1, 'async_trait>(
&'life0 self,
event_type: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn count_events<'life0, 'life1, 'async_trait>(
&'life0 self,
event_type: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Count events, optionally filtering by event type
Auto Trait Implementations§
impl Freeze for FileEventPersister
impl !RefUnwindSafe for FileEventPersister
impl Send for FileEventPersister
impl Sync for FileEventPersister
impl Unpin for FileEventPersister
impl UnsafeUnpin for FileEventPersister
impl !UnwindSafe for FileEventPersister
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more