mirror of
https://github.com/MariaDB/server.git
synced 2025-04-18 21:44:20 +03:00
Tag the logger
service with ATTRIBUTE_FORMAT
[Breaking] The `logger` service passes formats and args directly to `my_vsnprintf`. Just like the `my_snprintf` service, I increased this service’s major version because: * Custom suffixes are now a thing (and custom specifiers will soon no longer be). * GCC `-Wformat` now checks formats sent to them.
This commit is contained in:
parent
2392bd02d8
commit
302caa9549
@ -19,6 +19,7 @@
|
||||
#ifndef MYSQL_ABI_CHECK
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
#include <my_attribute.h>
|
||||
|
||||
/**
|
||||
@file
|
||||
@ -65,8 +66,10 @@ extern struct logger_service_st {
|
||||
unsigned long long size_limit,
|
||||
unsigned int rotations);
|
||||
int (*close)(LOGGER_HANDLE *log);
|
||||
int (*vprintf)(LOGGER_HANDLE *log, const char *fmt, va_list argptr);
|
||||
int (*printf)(LOGGER_HANDLE *log, const char *fmt, ...);
|
||||
int (*vprintf)(LOGGER_HANDLE *log, const char *fmt, va_list argptr)
|
||||
ATTRIBUTE_FORMAT_FPTR(printf, 2, 0);
|
||||
int (*printf)(LOGGER_HANDLE *log, const char *fmt, ...)
|
||||
ATTRIBUTE_FORMAT_FPTR(printf, 2, 3);
|
||||
int (*write)(LOGGER_HANDLE *log, const char *buffer, size_t size);
|
||||
int (*rotate)(LOGGER_HANDLE *log);
|
||||
} *logger_service;
|
||||
@ -90,8 +93,10 @@ extern struct logger_service_st {
|
||||
unsigned long long size_limit,
|
||||
unsigned int rotations);
|
||||
int logger_close(LOGGER_HANDLE *log);
|
||||
int logger_vprintf(LOGGER_HANDLE *log, const char *fmt, va_list argptr);
|
||||
int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...);
|
||||
int logger_vprintf(LOGGER_HANDLE *log, const char *fmt, va_list argptr)
|
||||
ATTRIBUTE_FORMAT(printf, 2, 0);
|
||||
int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...)
|
||||
ATTRIBUTE_FORMAT(printf, 2, 3);
|
||||
int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size);
|
||||
int logger_rotate(LOGGER_HANDLE *log);
|
||||
#endif
|
||||
|
@ -26,7 +26,7 @@
|
||||
#define VERSION_base64 0x0100
|
||||
#define VERSION_encryption 0x0300
|
||||
#define VERSION_encryption_scheme 0x0100
|
||||
#define VERSION_logger 0x0100
|
||||
#define VERSION_logger 0x0200
|
||||
#define VERSION_my_crypt 0x0100
|
||||
#define VERSION_my_md5 0x0100
|
||||
#define VERSION_my_print_error 0x0200
|
||||
|
@ -118,7 +118,7 @@ static void log_sql_errors(MYSQL_THD thd __attribute__((unused)),
|
||||
if (event->database.str)
|
||||
{
|
||||
logger_printf(logfile, "%04d-%02d-%02d %2d:%02d:%02d %lu "
|
||||
"%s %`s %s %d: %s : %s \n",
|
||||
"%s %sQ %s %d: %s : %s \n",
|
||||
t.tm_year + 1900, t.tm_mon + 1, t.tm_mday, t.tm_hour, t.tm_min,
|
||||
t.tm_sec, event->general_thread_id, event->general_user,
|
||||
event->database.str, type,
|
||||
|
Loading…
x
Reference in New Issue
Block a user