aboutsummaryrefslogtreecommitdiffstats
path: root/license-generator/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'license-generator/src/main.rs')
-rw-r--r--license-generator/src/main.rs37
1 files changed, 36 insertions, 1 deletions
diff --git a/license-generator/src/main.rs b/license-generator/src/main.rs
index fab9eb1..32fdc3b 100644
--- a/license-generator/src/main.rs
+++ b/license-generator/src/main.rs
@@ -1,8 +1,41 @@
extern crate fastcgi;
+#[macro_use]
+extern crate log;
+extern crate mysql;
+extern crate simplelog;
+
+extern crate license_generator;
+
+use std::env;
+use std::fs::OpenOptions;
use std::io::{Read, Write};
-fn main() {
+use simplelog::{Config, LevelFilter, WriteLogger};
+
+use license_generator::database;
+use license_generator::errors::*;
+
+fn main() -> Result<()> {
+ let log_file_path = env::var("LOG_FILE")?;
+
+ let log_file = OpenOptions::new()
+ .append(true)
+ .create(true)
+ .open(log_file_path)?;
+
+ WriteLogger::init(LevelFilter::Info, Config::default(), log_file)?;
+
+ let cx = match database::get_database_connection()
+ .chain_err(|| "failed to create a database connection")
+ {
+ Ok(cx) => cx,
+ Err(e) => {
+ error!("{}", e);
+ return Err(e);
+ },
+ };
+
fastcgi::run(|mut req| {
write!(&mut req.stdout(), "Content-Type: text/plain\n\nHello, world!")
.unwrap_or(());
@@ -21,4 +54,6 @@ fn main() {
write!(&mut req.stdout(), "\n\nstdin: {}\n", stdin)
.unwrap_or(());
});
+
+ Ok(())
}