Browse Source

Update logging in lua modules.

tags/1.0.0
Vsevolod Stakhov 8 years ago
parent
commit
f8fbf1dd71

+ 6
- 6
src/plugins/lua/dmarc.lua View File

@@ -79,11 +79,11 @@ local function dmarc_callback(task)
local function dmarc_report_cb(task, err, data)
if not err then
rspamd_logger.info(string.format('<%s> dmarc report saved for %s',
task:get_message_id(), from[1]['domain']))
rspamd_logger.infox(task, '<%1> dmarc report saved for %2',
task:get_message_id(), from[1]['domain'])
else
rspamd_logger.err(string.format('<%s> dmarc report is not saved for %s: %s',
task:get_message_id(), from[1]['domain'], err))
rspamd_logger.errx(task, '<%1> dmarc report is not saved for %2: %3',
task:get_message_id(), from[1]['domain'], err)
end
end
@@ -286,11 +286,11 @@ if not opts or type(opts) ~= 'table' then
end

if not opts['servers'] then
rspamd_logger.err('no servers are specified for dmarc stats')
rspamd_logger.errx(rspamd_config, 'no servers are specified for dmarc stats')
else
upstreams = upstream_list.create(opts['servers'], default_port)
if not upstreams then
rspamd_logger.err('cannot parse servers parameter')
rspamd_logger.errx(rspamd_config, 'cannot parse servers parameter')
end
end


+ 4
- 4
src/plugins/lua/emails.lua View File

@@ -36,7 +36,7 @@ local logger = require "rspamd_logger"
local function check_email_rule(task, rule, addr)
local function emails_dns_cb(resolver, to_resolve, results, err)
if results then
logger.infox('<%1> email: [%2] resolved for symbol: %3',
logger.infox(task, '<%1> email: [%2] resolved for symbol: %3',
task:get_message_id(), to_resolve, rule['symbol'])
task:insert_result(rule['symbol'], 1)
end
@@ -58,14 +58,14 @@ local function check_email_rule(task, rule, addr)
local key = addr:get_host()
if rule['map']:get_key(key) then
task:insert_result(rule['symbol'], 1)
logger.infox('<%1> email: \'%2\' is found in list: %3',
logger.infox(task, '<%1> email: \'%2\' is found in list: %3',
task:get_message_id(), key, rule['symbol'])
end
else
local key = string.format('%s@%s', addr:get_user(), addr:get_host())
if rule['map']:get_key(key) then
task:insert_result(rule['symbol'], 1)
logger.infox('<%1> email: \'%2\' is found in list: %3',
logger.infox(task, '<%1> email: \'%2\' is found in list: %3',
task:get_message_id(), key, rule['symbol'])
end
end
@@ -102,7 +102,7 @@ if opts and type(opts) == 'table' then
rule['map'] = rspamd_config:add_hash_map (rule['name'])
end
if not rule['symbol'] or (not rule['map'] and not rule['dnsbl']) then
logger.err('incomplete rule')
logger.errx(rspamd_config, 'incomplete rule')
else
table.insert(rules, rule)
end

+ 2
- 2
src/plugins/lua/ip_score.lua View File

@@ -135,7 +135,7 @@ local ip_score_set = function(task)

local score_set_cb = function(task, err, data)
if err then
rspamd_logger.infox('got error while IP score changing: %1', err)
rspamd_logger.infox(task, 'got error while IP score changing: %1', err)
end
end

@@ -335,7 +335,7 @@ local configure_ip_score_module = function()
if options['servers'] and options['servers'] ~= '' then
upstreams = upstream_list.create(options['servers'], default_port)
if not upstreams then
rspamd_logger.err('no servers are specified')
rspamd_logger.errx(rspamd_config, 'no servers are specified')
end
end
if options['whitelist'] then

+ 12
- 8
src/plugins/lua/multimap.lua View File

@@ -148,13 +148,13 @@ end

local function add_multimap_rule(key, newrule)
if not newrule['map'] then
rspamd_logger.err('incomplete rule')
rspamd_logger.errx(rspamd_config, 'incomplete rule')
return nil
end
if not newrule['symbol'] and key then
newrule['symbol'] = key
elseif not newrule['symbol'] then
rspamd_logger.err('incomplete rule')
rspamd_logger.errx(rspamd_config, 'incomplete rule')
return nil
end
-- Check cdb flag
@@ -164,22 +164,26 @@ local function add_multimap_rule(key, newrule)
if newrule['cdb'] then
return newrule
else
rspamd_logger.warn('Cannot add rule: map doesn\'t exists: ' .. newrule['map'])
rspamd_logger.warnx(rspamd_config, 'Cannot add rule: map doesn\'t exists: %1',
newrule['map'])
end
else
if newrule['type'] == 'ip' then
newrule['radix'] = rspamd_config:add_radix_map (newrule['map'], newrule['description'])
newrule['radix'] = rspamd_config:add_radix_map (newrule['map'],
newrule['description'])
if newrule['radix'] then
return newrule
else
rspamd_logger.warn('Cannot add rule: map doesn\'t exists: ' .. newrule['map'])
rspamd_logger.warnx(rspamd_config, 'Cannot add rule: map doesn\'t exists: %1',
newrule['map'])
end
elseif newrule['type'] == 'header' or newrule['type'] == 'rcpt' or newrule['type'] == 'from' then
newrule['hash'] = rspamd_config:add_hash_map (newrule['map'], newrule['description'])
if newrule['hash'] then
return newrule
else
rspamd_logger.warn('Cannot add rule: map doesn\'t exists: ' .. newrule['map'])
rspamd_logger.warnx(rspamd_config, 'Cannot add rule: map doesn\'t exists: %1',
newrule['map'])
end
elseif newrule['type'] == 'dnsbl' then
return newrule
@@ -195,12 +199,12 @@ if opts and type(opts) == 'table' then
if type(m) == 'table' then
local rule = add_multimap_rule(k, m)
if not rule then
rspamd_logger.err('cannot add rule: "'..k..'"')
rspamd_logger.errx(rspamd_config, 'cannot add rule: "'..k..'"')
else
table.insert(rules, rule)
end
else
rspamd_logger.err('parameter ' .. k .. ' is invalid, must be an object')
rspamd_logger.errx(rspamd_config, 'parameter ' .. k .. ' is invalid, must be an object')
end
end
-- add fake symbol to check all maps inside a single callback

+ 2
- 1
src/plugins/lua/once_received.lua View File

@@ -39,7 +39,8 @@ local function check_quantity_received (task)
if not results then
task:insert_result(symbol_strict, 1)
else
rspamd_logger.info(string.format('SMTP resolver failed to resolve: %s is %s', to_resolve, results[1]))
rspamd_logger.infox(task, 'SMTP resolver failed to resolve: %1 is %2',
to_resolve, results[1])
local i = true
for _,h in ipairs(bad_hosts) do
if string.find(results[1], h) then

+ 3
- 3
src/plugins/lua/phishing.lua View File

@@ -58,7 +58,7 @@ local function phishing_cb(task)
-- Use distance to penalize the total weight
weight = util.tanh(3 * (1 - dist + 0.1))
end
rspamd_logger.debugx("distance: %1 -> %2: %3", tld, ptld, dist)
rspamd_logger.debugx(task, "distance: %1 -> %2: %3", tld, ptld, dist)

if #redirector_domains > 0 then
for _,rule in ipairs(redirector_domains) do
@@ -109,10 +109,10 @@ local function phishing_map(mapname, phishmap)
local rule = {symbol = sym, map = rmap}
table.insert(phishmap, rule)
else
rspamd_logger.info('cannot add map: ' .. map .. ' for symbol: ' .. sym)
rspamd_logger.infox(rspamd_config, 'cannot add map: ' .. map .. ' for symbol: ' .. sym)
end
else
rspamd_logger.info(mapname .. ' option must be in format <map>:<symbol>')
rspamd_logger.infox(rspamd_config, mapname .. ' option must be in format <map>:<symbol>')
end
end
end

+ 10
- 10
src/plugins/lua/ratelimit.lua View File

@@ -100,7 +100,7 @@ local function check_limits(task, args)
--- Called when value was set on server
local function rate_set_key_cb(task, err, data)
if err then
rspamd_logger.info('got error while getting limit: ' .. err)
rspamd_logger.infox(task, 'got error while getting limit: %1', err)
upstream:fail()
else
upstream:ok()
@@ -126,7 +126,7 @@ local function check_limits(task, args)
end
end, _.zip(parse_limits(data), _.map(function(a) return a[1] end, args)))
elseif err then
rspamd_logger.info('got error while getting limit: ' .. err)
rspamd_logger.infox(task, 'got error while getting limit: %1', err)
upstream:fail()
end
end
@@ -147,7 +147,7 @@ local function set_limits(task, args)

local function rate_set_key_cb(task, err, data)
if err then
rspamd_logger.info('got error while setting limit: ' .. err)
rspamd_logger.infox(task, 'got error while setting limit: %1', err)
upstream:fail()
else
upstream:ok()
@@ -181,7 +181,7 @@ local function set_limits(task, args)
local cmd = generate_format_string(values, true)
rspamd_redis.make_request(task, addr, rate_set_key_cb, cmd, values)
elseif err then
rspamd_logger.info('got error while setting limit: ' .. err)
rspamd_logger.infox(task, 'got error while setting limit: %1', err)
upstream:fail()
end
end
@@ -221,7 +221,7 @@ local function rate_test_set(task, func)
if ip and ip:is_valid() and whitelisted_ip then
if whitelisted_ip:get_key(ip) then
-- Do not check whitelisted ip
rspamd_logger.info('skip ratelimit for whitelisted IP')
rspamd_logger.infox(task, 'skip ratelimit for whitelisted IP')
return
end
end
@@ -234,7 +234,7 @@ local function rate_test_set(task, func)
_.any(function(w) return r == w end, whitelisted_rcpts) end,
rcpts_user) then
rspamd_logger.info('skip ratelimit for whitelisted recipient')
rspamd_logger.infox(task, 'skip ratelimit for whitelisted recipient')
return
end
end
@@ -319,7 +319,7 @@ local function parse_limit(str)
end

if table.maxn(params) ~= 3 then
rspamd_logger.err('invalid limit definition: ' .. str)
rspamd_logger.errx(rspamd_config, 'invalid limit definition: ' .. str)
return
end

@@ -336,7 +336,7 @@ local function parse_limit(str)
elseif params[1] == 'user' then
set_limit(settings['user'], params[2], params[3])
else
rspamd_logger.err('invalid limit type: ' .. params[1])
rspamd_logger.errx(rspamd_config, 'invalid limit type: ' .. params[1])
end
end

@@ -376,11 +376,11 @@ if opts then
end

if not opts['servers'] then
rspamd_logger.err('no servers are specified')
rspamd_logger.errx(rspamd_config, 'no servers are specified')
else
upstreams = upstream_list.create(opts['servers'], default_port)
if not upstreams then
rspamd_logger.err('no servers are specified')
rspamd_logger.errx(rspamd_config, 'no servers are specified')
else
rspamd_config:register_pre_filter(rate_test)
rspamd_config:register_post_filter(rate_set)

+ 2
- 2
src/plugins/lua/rbl.lua View File

@@ -117,8 +117,8 @@ local function rbl_cb (task)
if thisrbl['unknown'] and thisrbl['symbol'] then
task:insert_result(thisrbl['symbol'], 1)
else
rspamd_logger.err('RBL ' .. thisrbl['rbl'] ..
' returned unknown result ' .. ipstr)
rspamd_logger.errx(task, 'RBL %1 returned unknown result: %2',
thisrbl['rbl'], ipstr)
end
end
end

+ 11
- 11
src/plugins/lua/settings.lua View File

@@ -219,7 +219,7 @@ local function check_settings(task)
return
end

rspamd_logger.info("check for settings")
rspamd_logger.infox(task, "check for settings")
local ip = task:get_from_ip()
local from = task:get_from()
local rcpt = task:get_recipients()
@@ -244,8 +244,8 @@ local function check_settings(task)
for name, rule in pairs(settings[pri]) do
local rule = check_specific_setting(name, rule, ip, from, rcpt, user)
if rule then
rspamd_logger.info(string.format("<%s> apply settings according to rule %s",
task:get_message_id(), name))
rspamd_logger.infox(task, "<%1> apply settings according to rule %2",
task:get_message_id(), name)
task:set_settings(rule)
end
end
@@ -255,7 +255,7 @@ local function check_settings(task)
end

-- Process settings based on their priority
local function process_settings_table(tbl)
local function process_settings_table(task, tbl)
local get_priority = function(elt)
local pri_tonum = function(p)
if p then
@@ -300,7 +300,7 @@ local function process_settings_table(tbl)
out[1] = res
out[2] = 0
else
rspamd_logger.err("bad IP address: " .. ip)
rspamd_logger.errx(task, "bad IP address: " .. ip)
return nil
end
else
@@ -311,7 +311,7 @@ local function process_settings_table(tbl)
out[1] = res
out[2] = mask
else
rspamd_logger.err("bad IP address: " .. ip)
rspamd_logger.errx(task, "bad IP address: " .. ip)
return nil
end
end
@@ -336,7 +336,7 @@ local function process_settings_table(tbl)
if re then
out['regexp'] = re
else
rspamd_logger.err("bad regexp: " .. addr)
rspamd_logger.errx(task, "bad regexp: " .. addr)
return nil
end

@@ -405,7 +405,7 @@ local function process_settings_table(tbl)
elseif elt['whitelist'] or elt['want_spam'] then
out['whitelist'] = true
else
rspamd_logger.err("no actions in settings: " .. name)
rspamd_logger.errx(rspamd_config, "no actions in settings: " .. name)
return nil
end
@@ -441,7 +441,7 @@ local function process_settings_table(tbl)
end, ft)

settings_initialized = true
rspamd_logger.infox('loaded %1 elements of settings', nrules)
rspamd_logger.infox(rspamd_config, 'loaded %1 elements of settings', nrules)
return true
end
@@ -452,7 +452,7 @@ local function process_settings_map(string)
local parser = ucl.parser()
local res,err = parser:parse_string(string)
if not res then
rspamd_logger.warn('cannot parse settings map: ' .. err)
rspamd_logger.warnx(rspamd_config, 'cannot parse settings map: ' .. err)
else
local obj = parser:get_object()
if obj['settings'] then
@@ -466,7 +466,7 @@ end
if set_section[1] and type(set_section[1]) == "string" then
-- Just a map of ucl
if not rspamd_config:add_map(set_section[1], "settings map", process_settings_map) then
rspamd_logger.errx('cannot load settings from %1', set_section)
rspamd_logger.errx(rspamd_config, 'cannot load settings from %1', set_section)
end
elseif type(set_section) == "table" then
process_settings_table(set_section)

+ 18
- 15
src/plugins/lua/spamassassin.lua View File

@@ -149,8 +149,8 @@ local function handle_header_def(hline, cur_rule)
elseif func == 'case' then
cur_param['strong'] = true
else
rspamd_logger.warn(string.format('Function %s is not supported in %s',
func, cur_rule['symbol']))
rspamd_logger.warnx(rspamd_config, 'Function %1 is not supported in %2',
func, cur_rule['symbol'])
end
end, _.tail(args))
table.insert(hdr_params, cur_param)
@@ -207,7 +207,7 @@ local function gen_eval_rule(arg)
if r then
r:match(h)
else
rspamd_logger.infox('cannot create regexp %1', re)
rspamd_logger.infox(rspamd_config, 'cannot create regexp %1', re)
return 0
end
end
@@ -241,7 +241,8 @@ local function maybe_parse_sa_function(line)
arg = elts[2]
local func_cache = {}
rspamd_logger.debugx('trying to parse SA function %1 with args %2', elts[1], elts[2])
rspamd_logger.debugx(rspamd_config, 'trying to parse SA function %1 with args %2',
elts[1], elts[2])
local substitutions = {
{'^exists:',
function(task) -- filter
@@ -260,7 +261,8 @@ local function maybe_parse_sa_function(line)
end
if not func then
rspamd_logger.errx('cannot find appropriate eval rule for function %1', arg)
rspamd_logger.errx(rspamd_config, 'cannot find appropriate eval rule for function %1',
arg)
else
return func(task)
end
@@ -388,8 +390,8 @@ local function process_sa_conf(f)
cur_rule['re'] = rspamd_regexp.create_cached(cur_rule['re_expr'])
if not cur_rule['re'] then
rspamd_logger.warn(string.format("Cannot parse regexp '%s' for %s",
cur_rule['re_expr'], cur_rule['symbol']))
rspamd_logger.warnx(rspamd_config, "Cannot parse regexp '%1' for %2",
cur_rule['re_expr'], cur_rule['symbol'])
else
handle_header_def(words[3], cur_rule)
end
@@ -410,7 +412,7 @@ local function process_sa_conf(f)
cur_rule['function'] = func
valid_rule = true
else
rspamd_logger.infox('unknown function %1', args)
rspamd_logger.infox(rspamd_config, 'unknown function %1', args)
end
end
elseif words[1] == "body" and slash then
@@ -533,7 +535,8 @@ end

if freemail_domains then
freemail_trie = rspamd_trie.create(freemail_domains)
rspamd_logger.infox('loaded %1 freemail domains definitions', #freemail_domains)
rspamd_logger.infox(rspamd_config, 'loaded %1 freemail domains definitions',
#freemail_domains)
end

local function sa_regexp_match(data, re, raw, rule)
@@ -644,10 +647,10 @@ _.each(function(r)
if res then
local nre = rspamd_regexp.create_cached(nexpr)
if not nre then
rspamd_logger.errx('cannot apply replacement for rule %1', r)
rspamd_logger.errx(rspamd_config, 'cannot apply replacement for rule %1', r)
rule['re'] = nil
else
rspamd_logger.debugx('replace %1 -> %2', r, nexpr)
rspamd_logger.debugx(rspamd_config, 'replace %1 -> %2', r, nexpr)
rule['re'] = nre
rule['re_expr'] = nexpr
nre:set_limit(match_limit)
@@ -855,13 +858,13 @@ local function process_atom(atom, task)
end
if not res then
rspamd_logger.debugx('atom: %1, NULL result', atom)
rspamd_logger.debugx(task, 'atom: %1, NULL result', atom)
elseif res > 0 then
rspamd_logger.debugx('atom: %1, result: %2', atom, res)
rspamd_logger.debugx(task, 'atom: %1, result: %2', atom, res)
end
return res
else
rspamd_logger.debugx('Cannot find atom ' .. atom)
rspamd_logger.debugx(task, 'Cannot find atom ' .. atom)
end
return 0
end
@@ -888,7 +891,7 @@ _.each(function(k, r)
expression = rspamd_expression.create(r['meta'],
{parse_atom, process_atom}, sa_mempool)
if not expression then
rspamd_logger.err('Cannot parse expression ' .. r['meta'])
rspamd_logger.errx(rspamd_config, 'Cannot parse expression ' .. r['meta'])
else
if r['score'] then
rspamd_config:set_metric_symbol(k, r['score'], r['description'])

+ 7
- 7
src/plugins/lua/trie.lua View File

@@ -59,7 +59,7 @@ local function tries_callback(task)
local pattern = patterns[idx]
if param['multi'] or not matched[pattern] then
rspamd_logger.debugx("<%1> matched pattern %2 at pos %3",
rspamd_logger.debugx(task, "<%1> matched pattern %2 at pos %3",
task:get_message_id(), pattern, pos)
task:insert_result(param['symbol'], 1.0)
if not param['multi'] then
@@ -96,10 +96,10 @@ local function process_trie_file(symbol, cf)
file = io.open(cf['file'])
if not file then
rspamd_logger.errx('Cannot open trie file %1', cf['file'])
rspamd_logger.errx(rspamd_config, 'Cannot open trie file %1', cf['file'])
else
if cf['binary'] then
rspamd_logger.errx('binary trie patterns are not implemented yet: %1',
rspamd_logger.errx(rspamd_config, 'binary trie patterns are not implemented yet: %1',
cf['file'])
else
for line in file:lines() do
@@ -114,7 +114,7 @@ local function process_trie_conf(symbol, cf)
local raw = false
if type(cf) ~= 'table' then
rspamd_logger.errx('invalid value for symbol %1: "%2", expected table',
rspamd_logger.errx(rspamd_config, 'invalid value for symbol %1: "%2", expected table',
symbol, cf)
return
end
@@ -138,19 +138,19 @@ if opts then
if #raw_patterns > 0 then
raw_trie = rspamd_trie.create(raw_patterns)
rspamd_logger.infox('registered raw search trie from %1 patterns', #raw_patterns)
rspamd_logger.infox(rspamd_config, 'registered raw search trie from %1 patterns', #raw_patterns)
end

if #mime_patterns > 0 then
mime_trie = rspamd_trie.create(mime_patterns)
rspamd_logger.infox('registered mime search trie from %1 patterns', #mime_patterns)
rspamd_logger.infox(rspamd_config, 'registered mime search trie from %1 patterns', #mime_patterns)
end
local id = -1
if mime_trie or raw_trie then
id = rspamd_config:register_callback_symbol('TRIE', 1.0, tries_callback)
else
rspamd_logger.err('no tries defined')
rspamd_logger.errx(rspamd_config, 'no tries defined')
end
if id ~= -1 then

Loading…
Cancel
Save