aboutsummaryrefslogtreecommitdiff
path: root/src/daemon/main.cpp
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2019-04-13 11:20:14 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2019-04-13 11:21:08 +0000
commit5140c15e56c4b22dcecc547911251471b42c993b (patch)
treebef49ed117b295ed0da5c457a393ca4b902375d2 /src/daemon/main.cpp
parentMerge pull request #5386 (diff)
downloadmonero-5140c15e56c4b22dcecc547911251471b42c993b.tar.xz
daemon: if a log file has a /, interpret it from the cwd
rather than from data dir where it normally is. It makes things like --log-file ./foo.log behave as you'd expect.
Diffstat (limited to 'src/daemon/main.cpp')
-rw-r--r--src/daemon/main.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/daemon/main.cpp b/src/daemon/main.cpp
index c3ac24b70..9e1c86b91 100644
--- a/src/daemon/main.cpp
+++ b/src/daemon/main.cpp
@@ -257,7 +257,12 @@ int main(int argc, char const * argv[])
bf::path log_file_path {data_dir / std::string(CRYPTONOTE_NAME ".log")};
if (!command_line::is_arg_defaulted(vm, daemon_args::arg_log_file))
log_file_path = command_line::get_arg(vm, daemon_args::arg_log_file);
- log_file_path = bf::absolute(log_file_path, relative_path_base);
+#ifdef __WIN32
+ if (!strchr(log_file_path.c_str(), '/') && !strchr(log_file_path.c_str(), '\\'))
+#else
+ if (!strchr(log_file_path.c_str(), '/'))
+#endif
+ log_file_path = bf::absolute(log_file_path, relative_path_base);
mlog_configure(log_file_path.string(), true, command_line::get_arg(vm, daemon_args::arg_max_log_file_size), command_line::get_arg(vm, daemon_args::arg_max_log_files));
// Set log level