44
44
/* max size of the log message */
45
45
#define MY_OFF_T_UNDEF (~(my_off_t)0UL)
49
47
DRIZZLE_BIN_LOG drizzle_bin_log;
50
48
uint64_t sync_binlog_counter= 0; /* We should rationalize the largest possible counters for binlog sync */
203
201
handlerton *binlog_hton;
207
Log error with all enabled log event handlers
212
level The level of the error significance: NOTE,
214
format format string for the error message
215
args list of arguments for the format string
222
bool LOGGER::error_log_print(enum loglevel level, const char *format,
226
Log_event_handler **current_handler;
228
/* currently we don't need locking here as there is no error_log table */
229
for (current_handler= error_log_handler_list ; *current_handler ;)
230
error= (*current_handler++)->log_error(level, format, args) || error;
236
void LOGGER::cleanup_base()
239
rwlock_destroy(&LOCK_logger);
243
void LOGGER::cleanup_end()
250
Perform basic log initialization: create file-based log handler and
253
void LOGGER::init_base()
258
/* by default we use traditional error log */
259
init_error_log(LOG_FILE);
261
my_rwlock_init(&LOCK_logger, NULL);
265
bool LOGGER::flush_logs(Session *)
270
Now we lock logger, as nobody should be able to use logging routines while
271
log tables are closed
273
logger.lock_exclusive();
275
/* end of log flush */
280
void LOGGER::init_error_log(uint32_t error_log_printer)
282
if (error_log_printer & LOG_NONE)
284
error_log_handler_list[0]= 0;
290
int LOGGER::set_handlers(uint32_t error_log_printer)
292
/* error log table is not supported yet */
295
init_error_log(error_log_printer);
303
205
Save position of binary log transaction cache.
2570
int error_log_print(enum loglevel level, const char *format,
2573
return logger.error_log_print(level, format, args);
2576
2471
void DRIZZLE_BIN_LOG::rotate_and_purge(uint32_t flags)
2578
2473
if (!(flags & RP_LOCK_LOG_IS_ALREADY_LOCKED))