Skip to content

Instantly share code, notes, and snippets.

@faxm0dem
Created August 16, 2016 13:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save faxm0dem/9f4715514f65f800cc1528d2ec37cd59 to your computer and use it in GitHub Desktop.
Save faxm0dem/9f4715514f65f800cc1528d2ec37cd59 to your computer and use it in GitHub Desktop.
syslog-ng ZNC source
source s_irc {
channel {
source {
file(
"/etc/znc/moddata/log/in2p3-log/freenode/#ecole_in2p3/%{::manifests::ecole2015::current_date}.log"
log-fetch-limit(1)
flags(no-parse)
program-override(irc)
);
};
#[19:06:00] * castaway hunts for field_name..
#[19:09:26] <castaway> andybev: specifically, its used like this: https://metacpan.org/source/ILMARI/SQL-Translator-0.11021/lib/SQL/Translator/Producer/SQLServer.pm
#[19:10:33] *** Joins: ferz (~ferz@vola.diff.org)
#[19:13:22] *** Quits: tharkun (~0@187.188.94.182) (Ping timeout: 360 seconds)
#[14:12:48] *** Bender sets mode: +o abraxxa
parser {
csv-parser(
columns(HHMMSS,tmp.type,MESSAGE)
quote-pairs('[]')
delimiters(' ')
flags(greedy)
);
};
# ENODATE in znc logs and year becomes 1899-12-31T19:56:39+01:00
parser {
date-parser(
format("%F %T")
template("%{::manifests::ecole2015::current_date} ${HHMMSS}")
time-zone("Europe/Paris")
);
};
junction {
channel {
filter { match('*', value('tmp.type'), type('string')); };
rewrite { set('me', value('irc.msgtype')); };
parser {
csv-parser(
columns(irc.nick,MESSAGE)
delimiters(' ')
flags(greedy)
);
};
flags(final);
};
channel {
filter { match('***', value('tmp.type'), type('string')); };
parser {
csv-parser(
columns(irc.msgtype,MESSAGE)
delimiters(':')
flags(greedy)
);
};
rewrite { set('$(strip $MESSAGE)', value(MESSAGE)); };
flags(final);
};
channel {
filter { match('^<', value('tmp.type'), type('posix')); };
rewrite {
set("${tmp.type}", value('irc.nick'));
set("msg", value('irc.msgtype'));
subst('^<(.*)>', '$1', value(irc.nick), flags(global));
};
flags(final);
};
channel {
flags(fallback);
};
};
};
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment