MINOR: hlua: Be able to disable logging from lua
Add core.silent (-1) value to be able to disable logging via TXN:set_loglevel() call. Otherwise, there is no way to do so and it may be handy. This special value cannot be used with TXN:log() function. This patch may be backported if necessary.
This commit is contained in:
parent
75fb0afde4
commit
31ec9f18bb
|
@ -159,6 +159,13 @@ Core class
|
|||
The "core" class is static, it is not possible to create a new object of this
|
||||
type.
|
||||
|
||||
.. js:attribute:: core.silent
|
||||
|
||||
:returns: integer
|
||||
|
||||
This attribute is an integer, it contains the value -1. It is a special value
|
||||
used to disable logging.
|
||||
|
||||
.. js:attribute:: core.emerg
|
||||
|
||||
:returns: integer
|
||||
|
@ -2889,12 +2896,12 @@ TXN class
|
|||
.. js:function:: TXN.set_loglevel(txn, loglevel)
|
||||
|
||||
Is used to change the log level of the current request. The "loglevel" must
|
||||
be an integer between 0 and 7.
|
||||
be an integer between 0 and 7 or the special value -1 to disable logging.
|
||||
|
||||
:param class_txn txn: The class txn object containing the data.
|
||||
:param integer loglevel: The required log level. This variable can be one of
|
||||
:see: :js:attr:`core.emerg`, :js:attr:`core.alert`, :js:attr:`core.crit`,
|
||||
:js:attr:`core.err`, :js:attr:`core.warning`, :js:attr:`core.notice`,
|
||||
:see: :js:attr:`core.silent`, :js:attr:`core.emerg`, :js:attr:`core.alert`,
|
||||
:js:attr:`core.crit`, :js:attr:`core.err`, :js:attr:`core.warning`, :js:attr:`core.notice`,
|
||||
:js:attr:`core.info`, :js:attr:`core.debug` (log level definitions)
|
||||
|
||||
.. js:function:: TXN.set_mark(txn, mark)
|
||||
|
|
|
@ -8243,10 +8243,12 @@ __LJMP static int hlua_txn_set_loglevel(lua_State *L)
|
|||
htxn = MAY_LJMP(hlua_checktxn(L, 1));
|
||||
ll = MAY_LJMP(luaL_checkinteger(L, 2));
|
||||
|
||||
if (ll < 0 || ll > 7)
|
||||
WILL_LJMP(luaL_argerror(L, 2, "Bad log level. It must be between 0 and 7"));
|
||||
if (ll < -1 || ll > NB_LOG_LEVELS)
|
||||
WILL_LJMP(luaL_argerror(L, 2, "Bad log level. It must be one of the following value:"
|
||||
" core.silent(-1), core.emerg(0), core.alert(1), core.crit(2), core.error(3),"
|
||||
" core.warning(4), core.notice(5), core.info(6) or core.debug(7)"));
|
||||
|
||||
htxn->s->logs.level = ll + 1;
|
||||
htxn->s->logs.level = (ll == -1) ? ll : ll + 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -13345,6 +13347,7 @@ lua_State *hlua_init_state(int thread_num)
|
|||
hlua_class_const_int(L, "thread", thread_num);
|
||||
|
||||
/* Push the loglevel constants. */
|
||||
hlua_class_const_int(L, "silent", -1);
|
||||
for (i = 0; i < NB_LOG_LEVELS; i++)
|
||||
hlua_class_const_int(L, log_levels[i], i);
|
||||
|
||||
|
|
Loading…
Reference in New Issue