session->pool->tag.tagname, session->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_session(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- session->pool->tag.tagname, session->pool->tag.uid, \
- G_STRFUNC, \
- __VA_ARGS__)
#define msg_err_ctx(...) rspamd_default_log_function(G_LOG_LEVEL_CRITICAL, \
"controller", ctx->cfg->cfg_pool->tag.uid, \
G_STRFUNC, \
"controller", ctx->cfg->cfg_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_ctx(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "controller", ctx->cfg->cfg_pool->tag.uid, \
+
+#define msg_debug_session(...) rspamd_conditional_debug_fast (NULL, session->from_addr, \
+ rspamd_controller_log_id, "controller", session->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(controller)
+
/* Graph colors */
#define COLOR_CLEAN "#58A458"
#define COLOR_PROBABLE_SPAM "#D67E7E"
session->name, session->uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_fuzzy_update(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- session->name, session->uid, \
- G_STRFUNC, \
- __VA_ARGS__)
#define msg_err_fuzzy_collection(...) rspamd_default_log_function (G_LOG_LEVEL_CRITICAL, \
"fuzzy_collection", session->uid, \
G_STRFUNC, \
"fuzzy_collection", session->uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_fuzzy_collection(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "fuzzy_collection", session->uid, \
- G_STRFUNC, \
- __VA_ARGS__)
/* Init functions */
gpointer init_fuzzy (struct rspamd_config *cfg);
static const guint max_nested = 32;
static const guint max_key_usages = 10000;
-#define msg_debug_mime(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "mime", task->task_pool->tag.uid, \
+#define msg_debug_mime(...) rspamd_conditional_debug_fast (NULL, task->from_addr, \
+ rspamd_mime_log_id, "mime", task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(mime)
+
#define RSPAMD_MIME_BOUNDARY_FLAG_CLOSED (1 << 0)
#define RSPAMD_BOUNDARY_IS_CLOSED(b) ((b)->flags & RSPAMD_MIME_BOUNDARY_FLAG_CLOSED)
cfg->cfg_pool->tag.tagname, cfg->checksum, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_config(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- cfg->cfg_pool->tag.tagname, cfg->checksum, \
+extern guint rspamd_config_log_id;
+#define msg_debug_config(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_config_log_id, "config", cfg->checksum, \
G_STRFUNC, \
__VA_ARGS__)
+
#endif /* ifdef CFG_FILE_H */
gboolean final);
static void rspamd_ucl_fin_cb (struct map_cb_data *data);
+guint rspamd_config_log_id = (guint)-1;
+RSPAMD_CONSTRUCTOR(rspamd_config_log_init)
+{
+ rspamd_config_log_id = rspamd_logger_add_debug_module("config");
+}
+
gboolean
rspamd_parse_bind_line (struct rspamd_config *cfg,
struct rspamd_worker_conf *cf,
"composites", task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_composites(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "composites", task->task_pool->tag.uid, \
+
+#define msg_debug_composites(...) rspamd_conditional_debug_fast (NULL, task->from_addr, \
+ rspamd_composites_log_id, "composites", task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(composites)
+
struct composites_data {
struct rspamd_task *task;
struct rspamd_composite *composite;
"dkim", ctx->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_dkim(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "dkim", ctx->pool->tag.uid, \
+#define msg_debug_dkim(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_dkim_log_id, "dkim", ctx->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(dkim)
+
struct rspamd_dkim_common_ctx {
rspamd_mempool_t *pool;
guint64 sig_hash;
"events", session->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_session(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "events", session->pool->tag.uid, \
+#define msg_debug_session(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_events_log_id, "events", session->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(events)
+
struct rspamd_watch_stack {
event_watcher_t cb;
gpointer ud;
backend->pool->tag.tagname, backend->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_fuzzy_backend(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- backend->pool->tag.tagname, backend->pool->tag.uid, \
+#define msg_debug_fuzzy_backend(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_fuzzy_sqlite_log_id, backend->pool->tag.tagname, backend->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(fuzzy_sqlite)
+
static const char *create_tables_sql =
"BEGIN;"
"CREATE TABLE IF NOT EXISTS digests("
guint flags;
};
-#define msg_debug_html(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "html", pool->tag.uid, \
+#define msg_debug_html(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_html_log_id, "html", pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(html)
+
#define TAG_DEF(id, name, flags) {(name), (id), (sizeof(name) - 1), (flags)}
static struct html_tag_def tag_defs[] = {
"milter", priv->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_milter(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "milter", priv->pool->tag.uid, \
+#define msg_debug_milter(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_milter_log_id, "milter", priv->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(milter)
+
struct rspamd_milter_context {
gchar *spam_header;
void *sessions_cache;
"monitored", m->tag, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_mon(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "monitored", m->tag, \
+#define msg_debug_mon(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_monitored_log_id, "monitored", m->tag, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(monitored)
+
static inline void
rspamd_monitored_propagate_error (struct rspamd_monitored *m,
const gchar *error)
"re_cache", cache->hash, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_re_cache(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "re_cache", cache->hash, \
+
+#define msg_debug_re_task(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_re_cache_log_id, "re_cache", task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_re_task(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "re_cache", task->task_pool->tag.uid, \
+#define msg_debug_re_cache(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_re_cache_log_id, "re_cache", cache->hash, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(re_cache)
+
#ifdef WITH_HYPERSCAN
#define RSPAMD_HS_MAGIC_LEN (sizeof (rspamd_hs_magic))
static const guchar rspamd_hs_magic[] = {'r', 's', 'h', 's', 'r', 'e', '1', '1'},
"redis_pool", conn->tag, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_rpool(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "redis_pool", conn->tag, \
+#define msg_debug_rpool(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_redis_pool_log_id, "redis_pool", conn->tag, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(redis_pool)
+
static inline guint64
rspamd_redis_pool_get_key (const gchar *db, const gchar *password,
const char *ip, int port)
"spf", rec->task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_spf(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "spf", rec->task->task_pool->tag.uid, \
+#define msg_debug_spf(...) rspamd_conditional_debug_fast (NULL, rec->task->from_addr, \
+ rspamd_spf_log_id, "spf", rec->task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(spf)
struct spf_dns_cb {
struct spf_record *rec;
cache->static_pool->tag.tagname, cache->cfg->checksum, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_cache(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- cache->static_pool->tag.tagname, cache->cfg->checksum, \
+#define msg_debug_cache(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_symcache_log_id, "symcache", cache->cfg->checksum, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(symcache)
+
static const guchar rspamd_symbols_cache_magic[8] = {'r', 's', 'c', 2, 0, 0, 0, 0 };
static gint rspamd_symbols_cache_find_symbol_parent (struct symbols_cache *cache,
rspamd_main->server_pool->tag.tagname, rspamd_main->server_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_main(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- rspamd_main->server_pool->tag.tagname, rspamd_main->server_pool->tag.uid, \
- G_STRFUNC, \
- __VA_ARGS__)
#endif /* WORKER_UTIL_H_ */
"bayes", task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_bayes(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "bayes", task->task_pool->tag.uid, \
+#define msg_debug_bayes(...) rspamd_conditional_debug_fast (NULL, task->from_addr, \
+ rspamd_bayes_log_id, "bayes", task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(bayes)
static inline GQuark
bayes_error_quark (void)
"rrd", file->id, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_rrd(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "rrd", file->id, \
+#define msg_debug_rrd(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_rrd_log_id, "rrd", file->id, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(rrd)
static GQuark
rrd_error_quark (void)
ref_entry_t ref;
};
-#define msg_debug_tcp(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "lua_tcp", cbd->tag, \
+#define msg_debug_tcp(...) rspamd_conditional_debug_fast (NULL, cbd->addr, \
+ rspamd_lua_tcp_log_id, "lua_tcp", cbd->tag, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(lua_tcp)
+
static void lua_tcp_handler (int fd, short what, gpointer ud);
static void lua_tcp_plan_handler_event (struct lua_tcp_cbdata *cbd,
gboolean can_read, gboolean can_write);
{NULL, NULL}
};
-#define msg_debug_xmlrpc(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "xmlrpc", "", \
+#define msg_debug_xmlrpc(...) rspamd_conditional_debug_fast (NULL, NULL, \
+ rspamd_xmlrpc_log_id, "xmlrpc", "", \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(xmlrpc)
+
enum lua_xmlrpc_state {
read_method_responce = 0,
read_params = 1,
"chartable", task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_chartable(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "chartable", task->task_pool->tag.uid, \
+
+#define msg_debug_chartable(...) rspamd_conditional_debug_fast (NULL, task->from_addr, \
+ rspamd_chartable_log_id, "chartable", task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(chartable)
+
/* Initialization */
gint chartable_module_init (struct rspamd_config *cfg, struct module_ctx **ctx);
gint chartable_module_config (struct rspamd_config *cfg);
"surbl", task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_surbl(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "surbl", task->task_pool->tag.uid, \
+#define msg_debug_surbl(...) rspamd_conditional_debug_fast (NULL, task->from_addr, \
+ rspamd_surbl_log_id, "surbl", task->task_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(surbl)
+
#define SURBL_REDIRECTOR_CALLBACK "SURBL_REDIRECTOR_CALLBACK"
static struct surbl_ctx *surbl_module_ctx = NULL;
REF_RELEASE (tmp_cfg);
}
else {
- msg_debug_main ("replacing config");
+ msg_info_main ("replacing config");
REF_RELEASE (old_cfg);
msg_info_main ("config has been reread successfully");
}
/* Turn off locking for logger */
rspamd_log_nolock (rspamd_main->logger);
- msg_debug_main ("catch SIGCHLD signal, finding terminated workers");
+ msg_info_main ("catch SIGCHLD signal, finding terminated workers");
/* Remove dead child form children list */
while ((wrk = waitpid (0, &res, WNOHANG)) > 0) {
if ((cur =
session->pool->tag.tagname, session->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_session(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- session->pool->tag.tagname, session->pool->tag.uid, \
+
+#define msg_debug_session(...) rspamd_conditional_debug_fast (NULL, session->client_addr, \
+ rspamd_proxy_log_id, "proxy", session->pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
+INIT_LOG_MODULE(proxy)
+
gpointer init_rspamd_proxy (struct rspamd_config *cfg);
void start_rspamd_proxy (struct rspamd_worker *worker);
"controller", ctx->cfg->cfg_pool->tag.uid, \
G_STRFUNC, \
__VA_ARGS__)
-#define msg_debug_ctx(...) rspamd_default_log_function (G_LOG_LEVEL_DEBUG, \
- "controller", ctx->cfg->cfg_pool->tag.uid, \
- G_STRFUNC, \
- __VA_ARGS__)
static gboolean
rspamd_worker_finalize (gpointer user_data)