commit d3773a433a6f40dc0675f63cd57184c11d88c07b
parent 0f0a87becf16506ad948073e4700014ac8b80332
Author: Daniel GarcĂa <dani-garcia@users.noreply.github.com>
Date: Wed, 13 Feb 2019 00:03:16 +0100
Removed list of mounted routes at startup by default, with option to add it back. This would get annoying when starting the server frequently, because it printed ~130 lines of mostly useless info
Diffstat:
3 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/src/config.rs b/src/config.rs
@@ -247,6 +247,8 @@ make_config! {
/// Reload templates (Dev) |> When this is set to true, the templates get reloaded with every request. ONLY use this during development, as it can slow down the server
reload_templates: bool, true, def, false;
+ /// Log routes at launch (Dev)
+ log_mounts: bool, true, def, false;
/// Enable extended logging
extended_logging: bool, false, def, true;
/// Log file path
diff --git a/src/main.rs b/src/main.rs
@@ -39,18 +39,37 @@ mod util;
pub use config::CONFIG;
-fn init_rocket() -> Rocket {
- rocket::ignite()
+fn launch_rocket() {
+ // Create Rocket object, this stores current log level and sets it's own
+ let rocket = rocket::ignite();
+
+ // If we aren't logging the mounts, we force the logging level down
+ if !CONFIG.log_mounts() {
+ log::set_max_level(log::LevelFilter::Warn);
+ }
+
+ let rocket = rocket
.mount("/", api::web_routes())
.mount("/api", api::core_routes())
.mount("/admin", api::admin_routes())
.mount("/identity", api::identity_routes())
.mount("/icons", api::icons_routes())
- .mount("/notifications", api::notifications_routes())
+ .mount("/notifications", api::notifications_routes());
+
+ // Force the level up for the fairings, managed state and lauch
+ if !CONFIG.log_mounts() {
+ log::set_max_level(log::LevelFilter::max());
+ }
+
+ let rocket = rocket
.manage(db::init_pool())
.manage(api::start_notification_server())
.attach(util::AppHeaders())
- .attach(AdHoc::on_launch("Launch Info", launch_info))
+ .attach(AdHoc::on_launch("Launch Info", launch_info));
+
+ // Launch and print error if there is one
+ // The launch will restore the original logging level
+ error!("Launch error {:#?}", rocket.launch());
}
// Embed the migrations from the migrations folder into the application
@@ -79,7 +98,7 @@ fn main() {
check_web_vault();
migrations::run_migrations();
- init_rocket().launch();
+ launch_rocket();
}
fn init_logging() -> Result<(), fern::InitError> {
diff --git a/src/static/templates/admin/page.hbs b/src/static/templates/admin/page.hbs
@@ -89,9 +89,7 @@
<input class="form-check-input conf-{{type}}" type="checkbox" id="input_{{name}}"
name="{{name}}" {{#if value}} checked {{/if}}>
- {{#if default}}
<label class="form-check-label" for="input_{{name}}"> Default: {{default}} </label>
- {{/if}}
</div>
</div>
{{/case}}