#include <log_service.h>
◆ characteristics
int(* s_mysql_log_service::characteristics) (void) |
Get characteristics of a log-service.
- Return values
-
<0 | an error occurred |
>=0 | characteristics (a set of log_service_chistics flags) |
◆ close
Close and release an instance.
Flushes any buffers.
- Parameters
-
instance | State-pointer that was returned on open. If memory was allocated for this state, it should be released, and the pointer set to nullptr. |
- Returns
- LOG_SERVICE_SUCCESS success
-
otherwise an error occurred
◆ flush
Flush any buffers.
This function will be called by the server on FLUSH ERROR LOGS. The service may write its buffers, close and re-open any log files to work with log-rotation, etc. The flush function MUST NOT itself log anything (as the caller holds THR_LOCK_log_stack)! A service implementation may provide a nullptr if it does not wish to provide a flush function.
- Parameters
-
instance | State-pointer that was returned on open. Value may be changed in flush. |
- Returns
- LOG_SERVICE_NOTHING_DONE no work was done
-
LOG_SERVICE_SUCCESS flush completed without incident
-
otherwise an error occurred
◆ get_log_name
log_service_error(* s_mysql_log_service::get_log_name) (void *instance, char *buf, size_t bufsize) |
Provide the name for a log file this service would access.
- Parameters
-
instance | instance info returned by open() if requesting the file-name for a specific open instance. nullptr to get the name of the default instance (even if it that log is not open). This is used to determine the name of the log-file to load on start-up. |
buf | Address of a buffer allocated in the caller. The callee may return an extension starting with '.', in which case the path and file-name will be the system's default, except with the given extension. Alternatively, the callee may return a file-name which is assumed to be in the same directory as the default log. Values are C-strings. |
bufsize | The size of the allocation in the caller. |
- Return values
-
0 | Success |
-1 | Mode not supported (only default / only instances supported) |
-2 | Buffer not large enough |
-3 | Misc. error |
◆ open
Open a new instance.
- Parameters
-
ll | optional arguments |
instance | If state is needed, the service may allocate and initialize it and return a pointer to it here. (This of course is particularly pertinent to components that may be opened multiple times, such as the JSON log writer.) This state is for use of the log-service component in question only and can take any layout suitable to that component's need. The state is opaque to the server/logging framework. It must be released on close. |
- Returns
- LOG_SERVICE_SUCCESS success, returned handle is valid
-
otherwise a new instance could not be created
◆ parse_log_line
log_service_error(* s_mysql_log_service::parse_log_line) (const char *line_start, size_t line_length) |
Parse a single line in an error log of this format.
(optional)
- Parameters
-
line_start | pointer to the beginning of the line ('{') |
line_length | length of the line |
- Return values
-
0 | Success |
!=0 | Failure (out of memory, malformed argument, etc.) |
◆ run
int(* s_mysql_log_service::run) (void *instance, log_line *ll) |
Have the service process one log line.
- Parameters
-
instance | State-pointer that was returned on open. |
ll | The log_line collection of log_items. |
- Return values
-
<0 | an error occurred |
=0 | no work was done |
>0 | number of processed entities |
The documentation for this struct was generated from the following file: