MXS-2592 Add configuration for session specific in-memory log

When enabled each session will write log messages in the in-memory log.
If session ends in error this log is written to the actual log in disk.
This commit is contained in:
Marko
2019-07-24 18:29:58 +03:00
parent b07ffdb2fa
commit 918a2964d5
14 changed files with 176 additions and 16 deletions

View File

@ -47,13 +47,22 @@ size_t mxs_get_context(char* buffer, size_t len)
return len;
}
void mxs_log_in_memory(const char* msg, size_t len)
{
MXS_SESSION* session = session_get_current();
if (session)
{
session_append_log(session, msg);
}
}
}
bool mxs_log_init(const char* ident, const char* logdir, mxs_log_target_t target)
{
mxb::Logger::set_ident("MariaDB MaxScale");
return mxb_log_init(ident, logdir, LOGFILE_NAME, target, mxs_get_context);
return mxb_log_init(ident, logdir, LOGFILE_NAME, target, mxs_get_context, mxs_log_in_memory);
}
namespace