commit d348f12a0e7f9a6e4d1193324a0d6446fa943d00
parent 11845d9f5b40867d39645e80d0eef0ff694b3eee
Author: Jeremy Lin <jeremy.lin@gmail.com>
Date: Wed, 22 Jul 2020 21:50:49 -0700
Add config option for log timestamp format
Diffstat:
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/.env.template b/.env.template
@@ -44,6 +44,10 @@
## Enable extended logging, which shows timestamps and targets in the logs
# EXTENDED_LOGGING=true
+## Timestamp format used in extended logging.
+## Format specifiers: https://docs.rs/chrono/latest/chrono/format/strftime
+# LOG_TIMESTAMP_FORMAT="%Y-%m-%d %H:%M:%S"
+
## Logging to file
## It's recommended to also set 'ROCKET_CLI_COLORS=off'
# LOG_FILE=/path/to/log
diff --git a/src/config.rs b/src/config.rs
@@ -329,6 +329,8 @@ make_config! {
reload_templates: bool, true, def, false;
/// Enable extended logging
extended_logging: bool, false, def, true;
+ /// Log timestamp format
+ log_timestamp_format: String, true, def, "%Y-%m-%d %H:%M:%S".to_string();
/// Enable the log to output to Syslog
use_syslog: bool, false, def, false;
/// Log file path
diff --git a/src/main.rs b/src/main.rs
@@ -130,8 +130,8 @@ fn init_logging(level: log::LevelFilter) -> Result<(), fern::InitError> {
if CONFIG.extended_logging() {
logger = logger.format(|out, message, record| {
out.finish(format_args!(
- "{}[{}][{}] {}",
- chrono::Local::now().format("[%Y-%m-%d %H:%M:%S]"),
+ "[{}][{}][{}] {}",
+ chrono::Local::now().format(&CONFIG.log_timestamp_format()),
record.target(),
record.level(),
message