logSelects, logParams, logAll actions

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1626 8eb893ce-cfd4-0310-b710-fb5ebe64c474
sayer/1.4-spce2.6
Stefan Sayer 17 years ago
parent 4973206160
commit 6d7b4de9a5

@ -75,6 +75,9 @@ DSMAction* DSMCoreModule::getAction(const string& from_str) {
DEF_CMD("log", SCLogAction);
DEF_CMD("clear", SCClearAction);
DEF_CMD("logVars", SCLogVarsAction);
DEF_CMD("logParams", SCLogParamsAction);
DEF_CMD("logSelects", SCLogSelectsAction);
DEF_CMD("logAll", SCLogAllAction);
DEF_CMD("setTimer", SCSetTimerAction);
DEF_CMD("removeTimer", SCRemoveTimerAction);
@ -344,7 +347,6 @@ DSMAction::SEAction SCReturnFSMAction::getSEAction(string& param) {
CONST_ACTION_2P(SCLogAction, ',', false);
EXEC_ACTION_START(SCLogAction) {
unsigned int lvl;
if (str2i(resolveVars(par1, sess, sc_sess, event_params), lvl)) {
ERROR("unknown log level '%s'\n", par1.c_str());
@ -355,11 +357,12 @@ EXEC_ACTION_START(SCLogAction) {
l_line.c_str());
} EXEC_ACTION_END;
EXEC_ACTION_START(SCLogVarsAction) {
void log_vars(const string& l_arg, AmSession* sess,
DSMSession* sc_sess, map<string,string>* event_params) {
unsigned int lvl;
if (str2i(resolveVars(arg, sess, sc_sess, event_params), lvl)) {
ERROR("unknown log level '%s'\n", arg.c_str());
return false;
if (str2i(resolveVars(l_arg, sess, sc_sess, event_params), lvl)) {
ERROR("unknown log level '%s'\n", l_arg.c_str());
return;
}
_LOG((int)lvl, "FSM: variables set ---\n");
@ -368,6 +371,71 @@ EXEC_ACTION_START(SCLogVarsAction) {
_LOG((int)lvl, "FSM: $%s='%s'\n", it->first.c_str(), it->second.c_str());
}
_LOG((int)lvl, "FSM: variables end ---\n");
}
EXEC_ACTION_START(SCLogVarsAction) {
log_vars(arg, sess, sc_sess, event_params);
} EXEC_ACTION_END;
void log_params(const string& l_arg, AmSession* sess,
DSMSession* sc_sess, map<string,string>* event_params) {
unsigned int lvl;
if (str2i(resolveVars(l_arg, sess, sc_sess, event_params), lvl)) {
ERROR("unknown log level '%s'\n", l_arg.c_str());
return;
}
if (NULL == event_params) {
_LOG((int)lvl, "FSM: no event params ---\n");
return;
}
_LOG((int)lvl, "FSM: params set ---\n");
for (map<string, string>::iterator it =
event_params->begin(); it != event_params->end(); it++) {
_LOG((int)lvl, "FSM: #%s='%s'\n", it->first.c_str(), it->second.c_str());
}
_LOG((int)lvl, "FSM: params end ---\n");
}
EXEC_ACTION_START(SCLogParamsAction) {
log_params(arg, sess, sc_sess, event_params);
} EXEC_ACTION_END;
void log_selects(const string& l_arg, AmSession* sess,
DSMSession* sc_sess, map<string,string>* event_params) {
unsigned int lvl;
if (str2i(resolveVars(l_arg, sess, sc_sess, event_params), lvl)) {
ERROR("unknown log level '%s'\n", l_arg.c_str());
return;
}
_LOG((int)lvl, "FSM: selects set ---\n");
#define SELECT_LOG(select_name) \
_LOG((int)lvl, "FSM: @%s='%s'\n", select_name, \
resolveVars("@" select_name, sess, sc_sess, event_params).c_str());
SELECT_LOG("local_tag");
SELECT_LOG("user");
SELECT_LOG("domain");
SELECT_LOG("remote_tag");
SELECT_LOG("callid");
SELECT_LOG("local_uri");
SELECT_LOG("remote_uri");
#undef SELECT_LOG
_LOG((int)lvl, "FSM: selects end ---\n");
}
EXEC_ACTION_START(SCLogSelectsAction) {
log_selects(arg, sess, sc_sess, event_params);
} EXEC_ACTION_END;
EXEC_ACTION_START(SCLogAllAction) {
log_vars(arg, sess, sc_sess, event_params);
log_params(arg, sess, sc_sess, event_params);
log_selects(arg, sess, sc_sess, event_params);
} EXEC_ACTION_END;
CONST_ACTION_2P(SCSetAction,'=', false);

@ -83,6 +83,9 @@ DEF_ACTION_1P(SCRemoveTimerAction);
DEF_ACTION_1P(SCRemoveTimersAction);
DEF_ACTION_2P(SCLogAction);
DEF_ACTION_1P(SCLogVarsAction);
DEF_ACTION_1P(SCLogParamsAction);
DEF_ACTION_1P(SCLogSelectsAction);
DEF_ACTION_1P(SCLogAllAction);
DEF_ACTION_2P(SCGetVarAction);
DEF_ACTION_2P(SCSetVarAction);
DEF_ACTION_2P(SCPlayFileAction);

@ -129,6 +129,12 @@ core actions:
e.g. log(1, $var1)
-- log all variables:
logVars(level)
-- log all selects:
logSelects(level)
-- log all Params (only in actions of a transition):
logParams(level)
-- log everything:
logAll(level)
setTimer(timer_id, timeout)
e.g. setTimer(1, $timeout)

Loading…
Cancel
Save