Add Loggability for nicer debugging output.
FossilOrigin-Name: ff761d0e8e8638b1f4d98d8d913d99591d83da0167d75b28f1bd186e1907ee47
This commit is contained in:
parent
87f8430048
commit
6cc96d8fae
5 changed files with 82 additions and 0 deletions
|
|
@ -6,6 +6,60 @@ VALUE rmdbx_mMDBX;
|
|||
VALUE rmdbx_eDatabaseError;
|
||||
VALUE rmdbx_eRollback;
|
||||
|
||||
/*
|
||||
* Log a message to the given +context+ object's logger.
|
||||
*/
|
||||
void
|
||||
#ifdef HAVE_STDARG_PROTOTYPES
|
||||
rmdbx_log_obj( VALUE context, const char *level, const char *fmt, ... )
|
||||
#else
|
||||
rmdbx_log_obj( VALUE context, const char *level, const char *fmt, va_dcl )
|
||||
#endif
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
va_list args;
|
||||
VALUE logger = Qnil;
|
||||
VALUE message = Qnil;
|
||||
|
||||
va_init_list( args, fmt );
|
||||
vsnprintf( buf, BUFSIZ, fmt, args );
|
||||
message = rb_str_new2( buf );
|
||||
|
||||
logger = rb_funcall( context, rb_intern("log"), 0 );
|
||||
rb_funcall( logger, rb_intern(level), 1, message );
|
||||
|
||||
va_end( args );
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Log a message to the global logger.
|
||||
*/
|
||||
void
|
||||
#ifdef HAVE_STDARG_PROTOTYPES
|
||||
rmdbx_log( const char *level, const char *fmt, ... )
|
||||
#else
|
||||
rmdbx_log( const char *level, const char *fmt, va_dcl )
|
||||
#endif
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
va_list args;
|
||||
VALUE logger = Qnil;
|
||||
VALUE message = Qnil;
|
||||
|
||||
va_init_list( args, fmt );
|
||||
vsnprintf( buf, BUFSIZ, fmt, args );
|
||||
message = rb_str_new2( buf );
|
||||
|
||||
logger = rb_funcall( rmdbx_mMDBX, rb_intern("logger"), 0 );
|
||||
rb_funcall( logger, rb_intern(level), 1, message );
|
||||
|
||||
va_end( args );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* MDBX initialization
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue