✨ Adds logging
This commit is contained in:
@@ -35,10 +35,10 @@ pub fn index(
|
||||
}
|
||||
|
||||
#[get("/<id>")]
|
||||
pub fn get(id: String, state: &State<AppState>) -> Result<Json<HitDTO>, Status> {
|
||||
pub fn get(id: &str, state: &State<AppState>) -> Result<Json<HitDTO>, Status> {
|
||||
let mut db = state.db.lock().unwrap();
|
||||
|
||||
let id = match Uuid::parse_str(id.as_str()).ok() {
|
||||
let id = match Uuid::parse_str(id).ok() {
|
||||
Some(id) => id,
|
||||
None => return Err(Status::BadRequest),
|
||||
};
|
||||
@@ -55,10 +55,10 @@ pub fn get(id: String, state: &State<AppState>) -> Result<Json<HitDTO>, Status>
|
||||
}
|
||||
|
||||
#[delete("/<id>")]
|
||||
pub fn delete(id: String, state: &State<AppState>) -> Result<Status, Status> {
|
||||
pub fn delete(id: &str, state: &State<AppState>) -> Result<Status, Status> {
|
||||
let mut db = state.db.lock().unwrap();
|
||||
|
||||
let id = match Uuid::parse_str(id.as_str()).ok() {
|
||||
let id = match Uuid::parse_str(id).ok() {
|
||||
Some(id) => id,
|
||||
None => return Err(Status::BadRequest),
|
||||
};
|
||||
|
||||
@@ -45,8 +45,8 @@ impl<'r> FromRequest<'r> for ReqMeta {
|
||||
}
|
||||
|
||||
#[get("/<id>")]
|
||||
pub async fn get(id: String, meta: ReqMeta, state: &State<AppState>) -> Result<NamedFile, Status> {
|
||||
let id = match Uuid::parse_str(id.as_str()).ok() {
|
||||
pub async fn get(id: &str, meta: ReqMeta, state: &State<AppState>) -> Result<NamedFile, Status> {
|
||||
let id = match Uuid::parse_str(id).ok() {
|
||||
Some(id) => id,
|
||||
None => return Err(Status::BadRequest),
|
||||
};
|
||||
|
||||
@@ -35,10 +35,10 @@ pub fn index(
|
||||
}
|
||||
|
||||
#[get("/<id>")]
|
||||
pub fn get(id: String, state: &State<AppState>) -> Result<Json<TrackerDTO>, Status> {
|
||||
pub fn get(id: &str, state: &State<AppState>) -> Result<Json<TrackerDTO>, Status> {
|
||||
let mut db = state.db.lock().unwrap();
|
||||
|
||||
let id = match Uuid::parse_str(id.as_str()).ok() {
|
||||
let id = match Uuid::parse_str(id).ok() {
|
||||
Some(id) => id,
|
||||
None => return Err(Status::BadRequest),
|
||||
};
|
||||
@@ -75,10 +75,10 @@ pub fn create(state: &State<AppState>) -> Result<Json<TrackerDTO>, Status> {
|
||||
}
|
||||
|
||||
#[delete("/<id>")]
|
||||
pub fn delete(id: String, state: &State<AppState>) -> Result<Status, Status> {
|
||||
pub fn delete(id: &str, state: &State<AppState>) -> Result<Status, Status> {
|
||||
let mut db = state.db.lock().unwrap();
|
||||
|
||||
let id = match Uuid::parse_str(id.as_str()).ok() {
|
||||
let id = match Uuid::parse_str(id).ok() {
|
||||
Some(id) => id,
|
||||
None => return Err(Status::BadRequest),
|
||||
};
|
||||
|
||||
25
src/main.rs
25
src/main.rs
@@ -6,8 +6,10 @@ mod schema;
|
||||
use crate::api::hit;
|
||||
use crate::api::image;
|
||||
use crate::api::tracker;
|
||||
use chrono::Local;
|
||||
use diesel::{Connection, PgConnection};
|
||||
use std::env;
|
||||
use std::str::FromStr;
|
||||
|
||||
#[macro_use]
|
||||
extern crate rocket;
|
||||
@@ -17,12 +19,33 @@ fn index() -> &'static str {
|
||||
"Hello world!"
|
||||
}
|
||||
|
||||
// TODO: add logging
|
||||
// TODO: add auth
|
||||
|
||||
fn setup_logging() -> Result<(), fern::InitError> {
|
||||
let level_raw = env::var("LOG_LEVEL").unwrap_or("INFO".to_string());
|
||||
let level = log::LevelFilter::from_str(&level_raw).expect("LOG_LEVEL invalid");
|
||||
|
||||
fern::Dispatch::new()
|
||||
.format(|out, message, record| {
|
||||
out.finish(format_args!(
|
||||
"{} {} [{}] {}",
|
||||
Local::now().format("%Y-%m-%d %H:%M:%S"),
|
||||
record.level(),
|
||||
record.target(),
|
||||
message
|
||||
))
|
||||
})
|
||||
.level(level)
|
||||
.chain(std::io::stdout())
|
||||
.apply()?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[launch]
|
||||
fn rocket() -> _ {
|
||||
dotenv::dotenv().ok();
|
||||
setup_logging().expect("Failed to setup logging");
|
||||
|
||||
let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set");
|
||||
let image_path = env::var("IMAGE_PATH").expect("IMAGE_PATH must be set");
|
||||
|
||||
Reference in New Issue
Block a user