diff --git a/CHANGELOG.md b/CHANGELOG.md index 609e326..bd11eae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Format datetime in locale format [github#1](https://github.com/imlonghao/archlinuxcn-packages/pull/1) - Support Sentry error tracking +- 404 page for log not found ## [0.2.3] - 2022-01-23 diff --git a/src/main.rs b/src/main.rs index 8c484af..fa1023e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -239,9 +239,11 @@ async fn get_pkg_log( .await .unwrap(); let logdir: String = rows[0].get("logdir"); - let contents = - std::fs::read_to_string(format!("/home/lilydjwg/.lilac/log/{}/{}.log", logdir, name)) - .unwrap(); + let filename = format!("/home/lilydjwg/.lilac/log/{}/{}.log", logdir, name); + let contents = match std::fs::read_to_string(&filename) { + Ok(x) => x, + Err(_) => return HttpResponse::NotFound().body(format!("Log {} not exist", &filename)), + }; let converted = ansi_to_html::convert(&contents, true, false).unwrap(); let html = format!("{}{}", STYLE_HTML, converted); HttpResponse::Ok()