pub struct LogEntry {
pub created_at: DateTime<Utc>,
pub id: Uuid,
pub line: String,
pub run_id: Uuid,
pub step_id: Uuid,
pub step_name: String,
pub stream: LogStream,
}Expand description
A persisted log line from step execution.
Each entry records a single line of output alongside its metadata.
Entries are ordered by id (UUID v7, time-ordered).
§Examples
use ironflow_store::entities::{LogEntry, LogStream};
use uuid::Uuid;
use chrono::Utc;
let entry = LogEntry {
id: Uuid::now_v7(),
run_id: Uuid::now_v7(),
step_id: Uuid::now_v7(),
step_name: "build".to_string(),
stream: LogStream::Stdout,
line: "Compiling ironflow v0.1.0".to_string(),
created_at: Utc::now(),
};
assert_eq!(entry.stream, LogStream::Stdout);JSON schema
{
"description": "A persisted log line from step execution.\n\nEach entry records a single line of output alongside its metadata.\nEntries are ordered by [`id`](LogEntry::id) (UUID v7, time-ordered).\n\n# Examples\n\n```\nuse ironflow_store::entities::{LogEntry, LogStream};\nuse uuid::Uuid;\nuse chrono::Utc;\n\nlet entry = LogEntry {\n id: Uuid::now_v7(),\n run_id: Uuid::now_v7(),\n step_id: Uuid::now_v7(),\n step_name: \"build\".to_string(),\n stream: LogStream::Stdout,\n line: \"Compiling ironflow v0.1.0\".to_string(),\n created_at: Utc::now(),\n};\nassert_eq!(entry.stream, LogStream::Stdout);\n```",
"type": "object",
"required": [
"created_at",
"id",
"line",
"run_id",
"step_id",
"step_name",
"stream"
],
"properties": {
"created_at": {
"description": "When the line was recorded.",
"type": "string",
"format": "date-time"
},
"id": {
"description": "Unique entry ID (UUID v7, time-ordered).",
"type": "string",
"format": "uuid"
},
"line": {
"description": "The log line content.",
"type": "string"
},
"run_id": {
"description": "Run that produced this log line.",
"type": "string",
"format": "uuid"
},
"step_id": {
"description": "Step that produced this log line.",
"type": "string",
"format": "uuid"
},
"step_name": {
"description": "Human-readable step name.",
"type": "string"
},
"stream": {
"$ref": "#/components/schemas/LogStream"
}
}
}
```ignore
</details>Fields§
§created_at: DateTime<Utc>When the line was recorded.
id: UuidUnique entry ID (UUID v7, time-ordered).
line: StringThe log line content.
run_id: UuidRun that produced this log line.
step_id: UuidStep that produced this log line.
step_name: StringHuman-readable step name.
stream: LogStreamImplementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for LogEntry
impl<'de> Deserialize<'de> for LogEntry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for LogEntry
impl RefUnwindSafe for LogEntry
impl Send for LogEntry
impl Sync for LogEntry
impl Unpin for LogEntry
impl UnsafeUnpin for LogEntry
impl UnwindSafe for LogEntry
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