diff --git a/src/common/rclinit.cpp b/src/common/rclinit.cpp index f7cff7b6..145a7520 100644 --- a/src/common/rclinit.cpp +++ b/src/common/rclinit.cpp @@ -274,12 +274,19 @@ RclConfig *recollinit(RclInitFlags flags, return 0; } - // Retrieve the log file name and level + // Retrieve the log file name and level. Daemon and batch indexing + // processes may use specific values, else fall back on common + // ones. string logfilename, loglevel; if (flags & RCLINIT_DAEMON) { config->getConfParam(string("daemlogfilename"), logfilename); config->getConfParam(string("daemloglevel"), loglevel); } + if ((flags & RCLINIT_IDX) && logfilename.empty()) + config->getConfParam(string("idxlogfilename"), logfilename); + if ((flags & RCLINIT_IDX) && loglevel.empty()) + config->getConfParam(string("idxloglevel"), loglevel); + if (logfilename.empty()) config->getConfParam(string("logfilename"), logfilename); if (loglevel.empty()) diff --git a/src/common/rclinit.h b/src/common/rclinit.h index 23b8aae2..5a41f67e 100644 --- a/src/common/rclinit.h +++ b/src/common/rclinit.h @@ -30,7 +30,8 @@ class RclConfig; * up the global signal handling. other threads must call recoll_threadinit() * when starting. * - * @param flags misc modifiers + * @param flags misc modifiers. These are currently only used to customize + * the log file and verbosity. * @param cleanup function to call before exiting (atexit) * @param sigcleanup function to call on terminal signal (INT/HUP...) This * should typically set a flag which tells the program (recoll, @@ -41,7 +42,7 @@ class RclConfig; * default and environment * @return the parsed configuration. */ -enum RclInitFlags {RCLINIT_NONE=0, RCLINIT_DAEMON=1}; +enum RclInitFlags {RCLINIT_NONE=0, RCLINIT_DAEMON=1, RCLINIT_IDX=2}; extern RclConfig *recollinit(RclInitFlags flags, void (*cleanup)(void), void (*sigcleanup)(int), string &reason, const string *argcnf = 0); diff --git a/src/index/recollindex.cpp b/src/index/recollindex.cpp index 2db53a37..ca55c2be 100644 --- a/src/index/recollindex.cpp +++ b/src/index/recollindex.cpp @@ -502,7 +502,7 @@ int main(int argc, char **argv) } string reason; RclInitFlags flags = (op_flags & OPT_m) && !(op_flags&OPT_D) ? - RCLINIT_DAEMON : RCLINIT_NONE; + RCLINIT_DAEMON : RCLINIT_IDX; config = recollinit(flags, cleanup, sigcleanup, reason, &a_config); if (config == 0 || !config->ok()) { cerr << "Configuration problem: " << reason << endl;