Interface of skygw_logmanager_init(int argc, char* argv[]) changed.
The previous interface of skygw_logmanager_init was conceptually broken. With -o you could specify that logging should be done to stdout. However, even if you did that, the log manager still checked that the logging directory could be accessed. Unless it had been specified using -j <path> the default was /var/log/maxscale. That is, unless the program calling skygw_logmanager_init was invoked by a user that had write access to /var/log/maxscale, there would be a complaint even if nothing was ever written to that directory. In practice this meant that even if -o was used you had to provide a -j with a path that surely is writeable (e.g. "/tmp"). This has now been changed so that you explicitly must provide the log directory and the flags -j and -o are removed. bool skygw_logmanager_init(const char* logdir, int argc, char* argv[]); If /logdir/ is provided then logged messages are written to a log file in that directory. If /logdir/ is NULL then messages are logged to stdout and no checks for access to any directory is not made.
This commit is contained in:
@ -8,19 +8,19 @@
|
||||
|
||||
void init_test_env(char *path)
|
||||
{
|
||||
int argc = 5;
|
||||
|
||||
int argc = 3;
|
||||
|
||||
const char* logdir = path ? path : TEST_LOG_DIR;
|
||||
|
||||
char* argv[] =
|
||||
{
|
||||
"log_manager",
|
||||
"-l",
|
||||
"LOGFILE_ERROR",
|
||||
"-j",
|
||||
path? path:TEST_LOG_DIR,
|
||||
NULL
|
||||
};
|
||||
|
||||
skygw_logmanager_init(argc,argv);
|
||||
skygw_logmanager_init(logdir, argc, argv);
|
||||
poll_init();
|
||||
hkinit();
|
||||
}
|
||||
|
Reference in New Issue
Block a user