/*! \brief convert an ast_fax_state to a string */
const char *ast_fax_state_to_str(enum ast_fax_state state);
+/*!
+ * \brief Log message at FAX or recommended level
+ *
+ * The first four parameters can be represented with Asterisk's
+ * LOG_* levels. In other words, this function may be called
+ * like
+ *
+ * ast_fax_log(LOG_DEBUG, msg);
+ */
+void ast_fax_log(int level, const char *file, const int line, const char *function, const char *msg);
+
#endif
struct ast_dsp *dsp;
};
+static int fax_logger_level = -1;
+
/*! \brief maximum buckets for res_fax ao2 containers */
#define FAX_MAXBUCKETS 10
}
}
+void ast_fax_log(int level, const char *file, const int line, const char *function, const char *msg)
+{
+ if (fax_logger_level != -1) {
+ ast_log_dynamic_level(fax_logger_level, "%s", msg);
+ } else {
+ ast_log(level, file, line, function, "%s", msg);
+ }
+}
+
/*! \brief convert a rate string to a rate */
static int fax_rate_str_to_int(const char *ratestr)
{
ast_log(LOG_WARNING, "failed to unregister '%s'\n", app_receivefax);
}
+ if (fax_logger_level != -1) {
+ ast_logger_unregister_level("FAX");
+ }
+
ao2_ref(faxregistry.container, -1);
return 0;
}
ast_cli_register_multiple(fax_cli, ARRAY_LEN(fax_cli));
res = ast_custom_function_register(&acf_faxopt);
+ fax_logger_level = ast_logger_register_level("FAX");
return res;
}
} else if (level == SPAN_LOG_WARNING) {
ast_log(LOG_WARNING, "%s", msg);
} else {
- ast_log(LOG_DEBUG, "%s", msg);
+ ast_fax_log(LOG_DEBUG, msg);
}
}