Skip to content

Commit dc2273b

Browse files
committed
Truncate log messages to 255 chars and bump to v0.1.5
Fix database insertion errors when log messages exceed varchar(255) limit. Messages are now truncated using proper UTF-8 character boundaries.
1 parent 02c4ab1 commit dc2273b

3 files changed

Lines changed: 10 additions & 3 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "openworkers-logs"
3-
version = "0.1.4"
3+
version = "0.1.5"
44
edition = "2024"
55

66
[features]

src/db.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,21 @@ pub async fn create_pool() -> Result<PgPool, sqlx::Error> {
6565
}
6666

6767
pub async fn insert_log(pool: &PgPool, log: LogEntry) -> Result<(), sqlx::Error> {
68+
// Truncate message to 255 chars to fit varchar(255)
69+
let truncated_message = if log.message.len() > 255 {
70+
log.message.chars().take(255).collect::<String>()
71+
} else {
72+
log.message.clone()
73+
};
74+
6875
sqlx::query!(
6976
r#"
7077
INSERT INTO logs (date, worker_id, message, level)
7178
VALUES ($1, $2, $3, $4)
7279
"#,
7380
log.date,
7481
log.worker_id,
75-
log.message,
82+
truncated_message,
7683
log.level as LogLevel
7784
)
7885
.execute(pool)

0 commit comments

Comments
 (0)