Commit Graph

247 Commits

Author SHA1 Message Date
c7a329e43e Log: skygw_logmanager_init renamed to mxs_log_init.
skygw_logmanager_init renamed to mxs_log_init and skygw_logmanager_done
renamed to mxs_log_finish. skygw_logmanager_exit removed alltogether as
all it did was to call skygw_logmanager_done. That appears to have been
a source for confusion as in many places a call to skygw_logmanager_done
was followed by a call to skygw_logmanager_exit. In addition, the function
skygw_log_done was removed from the header, since it lacked an
implementation.
2015-11-12 16:06:44 +02:00
bdfd72404b Log: skygw_log_rotate replaced with mxs_log_rotate.
With only one log-file no arguments are needed. The maxadmin command
'flush log'  still accepts all the previous arguments, but warns about
them being deprecated.
2015-11-12 14:48:37 +02:00
acb0a523a7 Log: No more argv parsing for log manager.
Earlier, the global setting for the syslog decided whether syslog
was enabled when skygw_logmanager_init was called, but not whether
logging to syslog actually was made.

Now syslog logging is enabled by default and the global setting
decides whether or not syslog logging actually is made. That is,
this opens up the possiblity for making it possible to turn on
and off sysloging at runtime.

Further, although the API led you to believe otherwise, it was
hardwired that LOGFILE_ERROR and LOGFILE_MESSAGE messages were
written to syslog.

The changed removed the need for passing an argv array explicitly.
2015-11-11 13:53:14 +02:00
24bed47794 Syslog ident must be provided explicitly.
The syslog ident must be provided explicitly when calling
skygw_logmanager_init (and not provided via the argv array).
It can be NULL, in which case it automatically will be the program
name.

The openlog() call is now always made, irrespective of what the
value of the global syslog flag is. That way it will be possible
to turn syslog logging on or off after the fact.
2015-11-11 13:48:57 +02:00
55dbaa49c0 Logging target must be explicitly defined.
Whether the log-file should be written to the filesystem or to
shared memory must now be explicitly defined when calling
skygw_logmanager_init() (instead of passing that via the argc/argv
construct).

Also, the meaning of '-l' when invoking maxscale has been changed.

Earlier -l [file|shm] specified whether the trace and debug logs
should be written to shared memory (while the error and message
logs always were written to the filesystem) and the _default_
was to write them to shared memory.

Now, with only one file, '-l' has still the same meaning, but it
decides whether the one and only logfile should be written to shared
memory, or the filesystem and the _default_ is to write it to the
filesystem.
2015-11-11 13:47:34 +02:00
450078fa92 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.
2015-11-06 14:20:05 +02:00
834a88aeda Log variables moved to log_manager.h
The log manager variables lm_enabled_log_files_bitmask, log_ses_count
and tls_log_info that earlier were declared separately in every
c-file are now declared in the log_manager.h header.
2015-11-04 14:26:53 +02:00
b543f36a49 Indentation and whitespace fixes.
There were many combinations of tab-width used so making the
indentation look right in the editor wasn't really possible.

The changes made:
- All tabs replaced with spaces.
- Indentation depth 4.
- , followed by space.
- Most binary operators (*, =, -) surrounded by one space.
- No space following ( or before ).
- Keywords follwed by 1 space.
2015-10-30 10:21:54 +02:00
56ed36ee76 Moved SSL initialization to be done before services are started. 2015-10-05 09:05:38 +03:00
9efad8727a All warnings removed.
Minimal changes to remove warnings when compiling.
2015-09-25 14:07:19 +03:00
338b870cd1 Fix to MXS-373: https://mariadb.atlassian.net/browse/MXS-373
The log manager is initialized only once and skygw_log_sync_all now checks if the log manager has been successfully started before interacting with the log manager
2015-09-21 17:27:49 +03:00
601eac5a5d Fixed parent-child code being called in non-daemon mode. 2015-09-18 17:26:27 +03:00
d192cee0a1 Fixed Log message to 2015
Fixed Log message to 2015
2015-09-18 09:49:22 +02:00
8a996029bc Merge branch 'MXS-35' into develop 2015-09-15 11:50:36 +03:00
bbc0116cd2 Moved the writing to and closing of the parent-child pipe to a separate function. 2015-09-15 10:52:37 +03:00
37f8148574 MXS-362: Enable/disable log augmentation
Log message augmentation (appending of function name) can now
be enabled or disabled via the configuration file and command
line.

By default, the augmentation is disabled.
2015-09-11 15:58:31 +03:00
ad0becae48 Copyright set to 2015
Copyright set to 2015
2015-09-07 14:39:55 +02:00
0febf23992 Removed LOGIF macros which prevented implicit initialization of the log manager. 2015-09-07 09:41:57 +03:00
160bbb70ee MXS-251: strerror
Replaces all calls to strerror with calls to strerror_r. The former
is non-thread safe while the latter is.
2015-09-05 15:52:13 +03:00
30cdda48c6 The datadir path is now used as the location where the process specific data directories are created. 2015-09-03 19:30:16 +03:00
e55d345ab4 Added --version-full which prints version and commit ID. 2015-09-02 10:58:41 +03:00
77a49e8cbd Removed magic numbers. 2015-09-01 14:31:35 +03:00
e839dafdd0 Cleaned up code. 2015-09-01 14:31:35 +03:00
386fa78a30 Fix to MXS-342: https://mariadb.atlassian.net/browse/MXS-342
Added more error messaging when the parsing of the configuration file fails.
2015-09-01 14:31:35 +03:00
9fe479e679 Cleaned up code. 2015-09-01 10:11:20 +03:00
28a6ea90c0 Added more details to log output when MaxScale receives a fatal signal. 2015-09-01 10:11:20 +03:00
0c552bab29 Fix to MXS-35: https://mariadb.atlassian.net/browse/MXS-35
The parent process now correctly returns the value from the child process.
2015-08-27 14:22:58 +03:00
1658e3d704 Added more verbose error messages and fixed bugs. 2015-08-25 15:20:10 +03:00
f58e7af94d Added a define for the PID file desciptor initial value. 2015-08-25 15:20:10 +03:00
372403760c Cleaned up code. 2015-08-25 15:20:10 +03:00
063c8f904a Fixed wrong file open mode. 2015-08-25 15:20:10 +03:00
0a33174803 Added PID file locks and cleaned up code. 2015-08-25 15:20:10 +03:00
1dd22a4d2c Cleaned up code and error messages. 2015-08-25 15:20:10 +03:00
b1d6096fa8 Added a check for running MaxScale processes. 2015-08-25 15:20:10 +03:00
98ab399e6e Changed sprintf calls to snprintf calls and fixed compiler warnings. 2015-08-18 10:50:48 +03:00
86ad570af8 Fix to MXS-310: https://mariadb.atlassian.net/browse/MXS-310
The dumpable flag is now reset to true after the uid is changed.
2015-08-16 18:15:16 +03:00
d6b587ad59 Fixed bad directory names in config not causing MaxScale to exit. 2015-08-11 21:07:11 +03:00
37ea3a6224 Fixed error on bad log directory. 2015-08-10 18:25:46 +03:00
0abcf349ff Partial merge of MXS-70 2015-08-10 17:33:40 +03:00
bcb44ed70d Fixed PID file name. 2015-08-10 10:34:22 +03:00
710cfbd6c5 Fixed custom directory locations not working. 2015-08-07 19:22:26 +03:00
ba32596603 Fixed MM monitor segfault on crash. 2015-08-07 14:00:55 +03:00
998ef6c949 Added SIGCHLD handler. 2015-07-24 12:05:09 +03:00
cc24777a90 Correct mkdir logic for default log directory. 2015-07-01 09:46:01 +01:00
61bee570d1 Fixed build failures due to old OpenSSL libraries. 2015-06-25 11:56:27 +03:00
577371d038 Moved SSL spinlock initialization to be done after thread initialization. 2015-06-24 16:56:27 +03:00
047985fb91 Fixed SSL thread locking functions not being used. 2015-06-24 15:26:35 +03:00
13fb88ea07 Added optional code for older OpenSSL library versions. 2015-06-24 11:29:43 +03:00
acd649cdc4 Reverted back to older OpenSSL functions for compatibility support. 2015-06-17 18:18:40 +03:00
f602121459 Added configurable SSL certificate verification depth and updated the documentation in the code. 2015-06-12 21:21:06 +03:00