syslog-ng is an enhanced log daemon, supporting a wide range of input and output methods: syslog, unstructured text, queueing, SQL & NoSQL.
OTHER License
Bot releases are visible (Hide)
Published by github-actions[bot] over 3 years ago
mongodb()
: add workers()
support (multi-threaded connection pooling)
The MongoDB driver now supports the workers()
option, which specifies the
number of parallel workers to be used.
Workers are based on the connection pooling feature of the MongoDB C library.
This increases the throughput of the MongoDB destination driver.
Example:
destination {
mongodb(
uri("mongodb://hostA,hostB/syslog?replicaSet=my_rs&wtimeoutMS=10000&socketTimeoutMS=10000&connectTimeoutMS=10000&serverSelectionTimeoutMS=5000")
collection("messages")
workers(8)
);
};
(#3621)
mongodb()
: template support for the collection()
option
The collection()
option of the MongoDB destination driver now accepts
templates, for example:
destination {
mongodb(
uri("mongodb://host/syslog")
collection("${HOST}_messages")
);
};
(#3621)
time-reopen
: Support the time-reopen()
option on the driver level for the following drivers:
example-diskq-source
, python-fetcher
amqp
, example-destination
, file
, http
, mongodb
, network
, pipe
,program
, pseudofile
, python
, redis
, riemann
, smtp
, sql
, stomp
,syslog
, tcp
, tcp6
, udp
, udp6
, unix-dgram
, unix-stream
, usertty
csv-parser()
: add drop-invalid() option along with the already existingusertty() destination
: Support changing the terminal disable timeout with the time-reopen()
option.time-reopen(600)
usertty()
driver.syslog-parser()
: add a new drop-invalid() option that allows the use ofdate-parser: if the timestamp pattern did not covered a field (for example seconds) that field had undefined value
The missing fields are initialized according to the following rules:
Fix compilation issues on OpenBSD
syslog-ng can now be compiled on OpenBSD.
(#3661)
loggen: debug message printed wrong plugin name (ssl-plugin instead of socket_plugin)
(#3624)
tls: fixup EOF detection issue in tls (before 3.0 version)
syslog-ng error message:
"I/O error occurred while reading; fd='13', error='Success (0)'"
(#3618)
kafka: the config() block couldn't contain option that is already a keyword in syslog-ng (example: retries)
(#3658)
templates: fixed error reporting when invalid templates were specified
The amqp()
, file()
destination, sql()
, stomp()
, pdbtool
, and
graphite()
plugins had template options that did not report errors at startup
when invalid values were specified.
(#3660)
syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Attila Szakacs, Balazs Scheidler,
Gabor Nagy, Janos SZIGETVARI, Laszlo Budai, Laszlo Szemere,
LittleFish33, László Várady, Ming Liu, Norbert Takacs, Peter Kokai,
Todd C. Miller, Yi Fan Yu, Zoltan Pallagi
Published by github-actions[bot] over 3 years ago
syslog-parser()
: fix a potential crash in case parsing the messagepython2
: Direct python2
support is dropped, we no longer test it in our CI.
No python2
related source codes were removed as for now, but we do not
guarantee that it will work in the future.
(#3603)
syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler,
Gabor Nagy, Laszlo Budai, Laszlo Szemere, László Várady,
Norbert Takacs, Peter Kokai, Ryan Faircloth, Zoltan Pallagi
Published by github-actions[bot] over 3 years ago
fortigate-parser(): new parser to parse fortigate logs
Example:
log {
source { network(transport("udp") flags(no-parse)); };
parser { fortigate-parser(); };
destination { };
};
An adapter to automatically recognize fortigate logs in app-parser() has
also been added.
(#3536)
patterndb
: Added OPTIONALSET
parser. It works the same as SET
, but continues, even if none of the
characters is found.
(#3540)
syslog-parser()
: add no-header flag to tell syslog-ng to parse only the
PRI field of an incoming message, everything else is just put into $MSG.
(#3538)
set-pri()
: this new rewrite operation allows you to change the PRI value
of a message based on the string directly parsed out of a syslog header.
(#3546)
telegram: option to send silent message
Example:
destination { telegram(bot-id(...) chat-id(...) disable_notification(true)); };
(#3558)
app-parser()
: added automatic classification & parsing for project Lumberjack/Mitre CEE formatted logs
(#3569)
diskq: if the dir() path provided by the user does not exists, syslog-ng creates the path with the same permission as the running instance
(#3550)
network()
, syslog()
destinations: fix reconnection timer when DNS lookups are slow
After a long-lasting DNS query, syslog-ng did not wait the specified time (time_reopen()
)
before reconnecting to a destination. This has been fixed.
(#3526)
cmake: minor fixes
(#3523)
stats-level()
: fix processing the changes in the stats-level() global
option: changes in stats-level() were not reflected in syslog
facility/severity related and message tag related counters after first
configuration reload. These counters continued to operate according to the
value of stats-level() at the first reload.
(#3561)
date-parser()
: fix hour-only timezone parsing
If the timestamp contains a short timezone offset (e.g. hours only), the
recent change in strptime() introduces an error, it interprets those
numbers as minutes instead of hours. For example: Jan 16 2019 18:23:12 +05
(#3555)
loggen
: fix undefined timeout while connecting to network sources (glib < 2.32
)
When compiling syslog-ng with old glib versions (< 2.32), loggen
could fail due a timeout bug.
This has been fixed.
(#3504)
grouping-by()
: fix deadlock when context expires
In certain cases, the grouping-by()
parser could get stuck when a message
context expired, causing a deadlock in syslog-ng.
This has been fixed.
(#3515)
date-parser
: Fixed a crash, which occured sometimes when %z
was used.
(#3553)
date-parser
: %z
. We no longer ignore daylight saving time when calculating the GMT offset.
(#3553)
kafka-c
: fix a double LogMessage acknowledgement bug, which can cause crash with segmentation fault or exit with sigabrt. The issue affects both flow-controlled and non-flow-controlled log paths and it's triggered in case previously published messages failed to be delivered to Kafka.
(#3583)
python destination
: Fixed a rare crash during reload.
(#3568)
date-parser()
: fix non-mandatory parsing of timezone name
When %Z is used, the presence of the timezone qualifier is not mandatory,
so don't fail that case.
(#3555)
wildcard-file()
: fix infrequent crash when file renamed/recreated
The wildcard-file source crashed when a file being processed was replaced by
a new one on the same path (renamed, deleted+recreated, rotated, etc.).
(#3513)
Remove the no-parse flag in system() source from FreeBSD kernel
messages, so the message header is no more part of the message.
(#3586)
Fix abort on macOS Big Sur
A basic subset of syslog-ng's functionality now works on the latest macOS version.
(#3522)
affile
: Fix improper initialization in affile and LogWriter to avoid memory leak when reloading
(#3574)
udp destination
: Fixed a bug, where the packet's checksum was not calculated,
when spoof-source(yes)
and ip-protocol(6)
were set.
(#3528)
python
: fix LogMessage.keys() listing non-existenting keys and duplicates
(#3557)
libnet
: Minimal libnet version is now 1.1.6.apphook
: the concept of hook run modes were introduced, adding support forsyslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
0140454, Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler,
egorbeliy, Gabor Nagy, Laszlo Budai, Laszlo Szemere, László Várady,
Michael Ducharme, Norbert Takacs, Peter Czanik, Peter Kokai, Pratik raj,
Ryan Faircloth, Zoltan Pallagi
Published by github-actions[bot] almost 4 years ago
kafka
(C implementation):
topic()
.fallback-topic()
option, which will be used, if the templated topic()
yields an invalid topic name.transport: add proxy-protocol support
http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
@version: 3.29
source s_tcp_pp {
network(
port(7777)
# transport("proxied-tcp")
transport("proxied-tls")
tls(
key-file("/openssl/certs/certs/server/server.rsa")
cert-file("openssl/certs/certs/server/server.crt")
ca-dir("/openssl/certs/certs/CA")
# peer-verify("optional-untrusted")
peer-verify("required-trusted")
)
);
};
destination d_file {
file("/var/log/pp.log" template("$(format-json --scope nv-pairs)\n"));
};
log {
source(s_tcp_pp);
destination(d_file);
};
filter
: new template function
The new introduced filter
template function will allow filtering lists based on a filter expression.
For example this snippet removes odd numbers
log {
source { example-msg-generator(num(1) values(INPUT => "0,1,2,3")); };
destination {
file("/dev/stdout"
template("$(filter ('$(% $_ 2)' eq '0') $INPUT)\n)")
);
};
};
(#3426)
file, network, program destinations: : new truncate_size option introduced to truncate an output message to a specified max size. default value is -1 (disabled).
network("127.0.0.1" truncate_size(100));
new stats counters:
dst.network;d_local#0;udp,127.0.0.1:1111;a;truncated_count;1
dst.network;d_local#0;udp,127.0.0.1:1111;a;truncated_bytes;1
(#3474)
network: add FreeBSD support for the so_reuseport(yes)
the same as in linux SO_REUSEPORT
(FreeBSD uses SO_REUSEPORT_LB
flag).
(#3438)
date-parser: %z accepts local timezone std format as well
(#3453)
syslog-format
: accepting longer sdata keys
Triggered by https://github.com/syslog-ng/syslog-ng/issues/3197
At the end of the discussion in the mentioned issue, we decided
to change the parser and accept longer than 32 character ID's.
(#3244)
systemd-journal: add namespace() option
This option accepts a string which is identical to the --namespace
option of journalctl.
For systems defining this option with a systemd
version older than v245
a warning is issued.
(#3358)
date-parse: %Z should parse the same timezones as %z not just local and gmt
(#3453)
python: printing the exception instead of None (if compiled with clang)
(#3405)
network/udp: message was lost (not sent) if it was too large, and a time reopen amount of time needed to expire to send the next message lowering the thoughtput. now it is truncated at 65507.
(#3474)
tlscontext: support IPv6 X509v3 Subject Alternative Name
Fixes #3465
(#3466)
map
: pass $_
to if
correctly.
Prior this patchset, if
did not receive $_
correctly.
After this change, these configurations will work:
log {
source { example-msg-generator(num(1) values(INPUT => "0,1,2,3")); };
destination {
file("/dev/stdout"
template("$(map $(if ('$(% $_ 2)' eq '0') 'even' 'odd') $INPUT)'\n)")
);
};
};
(#3426)
systemd-journal: add namespace to the persist name
(#3407)
syslog-ng
: fixed numerous spelling mistakes in messages generated by syslog-ng
(#3398)
network: fix TLS certificate hostname verification when using failover()
servers
For TLS certificate hostname verification, the certificate's hostname needs to be compared to the configured hostname
of the primary and each failover server. syslog-ng used always the primary server's name incorrectly.
(#3447)
afsocket: syslog-ng fails to bind() after config revert
When having a program source or destination and a network destination in the
config, if we reload with an invalid config, syslog-ng crashes, as it cannot init
the old network source, because its address is in use.
(#3416)
syslog-ng-ctl: when syslog-ng gets stuck on executing a heavy stats-ctl command, should be
able to do a graceful shutdown when it is requested.
(#3349)
json-parser: fix parsing 64 bit numbers (currently 32 bit was a limit)
(#3403)
usertty(): on each tty open error an error mesage and a 10 minutes long disabling of the usertty() destination has been added.
Until now, the usertty() destination were only disabled for blocking write() calls.
(#3473)
Proxy protocol support added to loggen.
Four new options added to loggen to suppport the proxy protocol:
bison
: Minimum required version is now 3.4.2.
You still only need bison
, if you are building from git source or changing the grammar in the released source tarball.
(#2526)
Template evaluation related function signatures changed.
A new structure LogTemplateEvalOptions
is introduced to group parameters together.
(#3426)
syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler,
Boris Korzun, Gabor Nagy, Laszlo Budai, Laszlo Szemere, László Várady,
Norbert Takacs, Peter Kokai, Viktor Juhasz, Vivin Peris, Zoltan Pallagi,
bjoe2k4
Published by lbudai about 4 years ago
panos-parser()
: parse Palo Alto PAN-OS logs
Example:
@include "scl.conf"
log {
source { network(transport("udp")); };
parser { panos-parser(); };
destination {
elasticsearch-http(
index("syslog-ng-${YEAR}-${MONTH}-${DAY}")
type("")
url("http://localhost:9200/_bulk")
template("$(format-json
--scope rfc5424
--scope dot-nv-pairs --rekey .* --shift 1 --exclude *future_* --exclude *dg_hier_level_*
--scope nv-pairs --exclude DATE --key ISODATE @timestamp=${ISODATE})")
);
};
};
(#3234)
snmptrap: improve error message when missing dependency
(#3363)
disk queue: reduce memory usage during load
(#3352)
Allow dupnames flag to be used in PCRE expressions, allowing duplicate names for named subpatterns
as explained here: https://www.pcre.org/original/doc/html/pcrepattern.html#SEC16 .
Example:
filter f_filter1 {
match("(?<FOOBAR>bar)|(?<FOOBAR>foo)" value(MSG) flags(store-matches, dupnames));
};
(#3381)
filter/regex: if there was a named match (?..)? that is optional to match, the previose or the next named matches might not be saved as named match.
(#3393)
tls
: Fixed a bug, where ecdh-curve-list()
were not applied at client side.
(#3356)
scratch-buffers: fix global.scratch_buffers_bytes.queued
counter bug
This bug only affected the stats_counter value, not the actual memory usage (i.e. memory usage was fine before)
(#3355)
wsl: fix infinite loop during startup
(#3340)
openbsd
: showing grammar debug info for openbsd too, when -y
command line option is used
(#3339)
stats-query
: speedup syslog-ng-ctl query get "*"
command.
An algorithmic error view made syslog-ng-ctl query get "*"
very slow with large number of counters.
(#3376)
syslogformat: fixing crashing with small invalid formatted logs see example in #3328
(#3364)
cfg
: fix config reload crash via introducing on_config_inited
in LogPipe
(#3176)
config: fix error reporting
disk queue
: fix possible crash during load, and possible false positive corruption detection
(#3342)
db-parser, pdbtool, graphite-output: fix glib assertion error
The assertion happened in these cases
Syslog-ng emitted a glib assertion warning in the cases above, even in successful executions.
If G_DEBUG=fatal-warnings
environment variable was used, the warning turned into a crash.
(#3344)
stats: fix stats-ctl query crash when trying to reset all the counters
syslog-ng-ctl query get '*' --reset
(#3361)
light: test for assertion errors in glib for each testcases
(#3344)
Fix signal handling when an external library/plugin sets SIG_IGN
Previously, setting SIG_IGN in a plugin/library (for example, in a Python module) resulted in a crash.
(#3338)
func-test
: removed logstore_reader check, which was never reached
(#3236)
plugin_skeleton_creator
: fixing a compiler switch
Wrong compiler switch used in plugin_skeleton_creator
. This caused a compiler warning. The grammar debug info did not appear for that module, when -y
command line option was used.
(#3339)
Light test framework: get_stats and get_query functions to DestinationDriver class
Two new functions added to DestinationDriver class which can be used for getting the stats
and query output of syslog-ng-ctl.
(#3211)
internal()
: limit the size of internal()'s temporary queue
The internal()
source uses a temporary queue to buffer messages.
From now on, the queue has a maximum capacity, the log-fifo-size()
option
can be used to change the default limit (10000).
This change prevents consuming all the available memory in special rare cases.
(#3229)
network plugins: better timer defaults for TCP keepalive
From now on, syslog-ng uses the following defaults for TCP keepalive:
tcp-keepalive-time()
: 60tcp-keepalive-intvl()
: 10tcp-keepalive-probes()
: 6Note: so-keepalive()
is enabled by default.
(#3357)
syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler, Christian Tramnitz, chunmeng, Gabor Nagy, Laszlo Budai, Laszlo Szemere, László Várady, MileK, Norbert Takacs, Peter Czanik, Péter Kókai, Terez Nemes.
Published by lbudai over 4 years ago
http
: add support for proxy option
Example:
log {
source { system(); };
destination { http( url("SYSLOG_SERVER_IP:PORT") proxy("PROXY_IP:PORT") method("POST") ); };
};
(#3253)
map
: template function
This template function applies a function to all elements of a list. For example: $(map $(+ 1 $_) 0,1,2)
=> 1,2,3.
(#3301)
use-syslogng-pid()
: new option to all sources
If set to yes
, syslog-ng
overwrites the message's ${PID}
macro to its own PID.
(#3323)
affile
: eliminate infinite loop in case of a spurious file path
If the template evaluation of a log message will result to a spurious
path in the file destination, syslog-ng refuses to create that file.
However the problematic log message was left in the msg queue, so
syslog-ng was trying to create that file again in time-reopen periods.
From now on syslog-ng will handle "permanent" file errors, and drop
the relevant msg.
(#3230)
Fix minor memory leaks in error scenarios
(#3265)
crypto
: fix hang on boot due to lack of entropy
(#3271)
Fix IPv4 UDP destinations on FreeBSD
UDP-based destinations crashed when receiving the first message on FreeBSD due
to a bug in destination IP extraction logic.
(#3278)
network sources
: fix TLS connection closure
RFC 5425 specifies that once the transport receiver gets close_notify
from the
transport sender, it MUST reply with a close_notify
.
The close_notify
alert is now sent back correctly in case of TLS network sources.
(#2811)
disk-buffer
: fixes possible crash, or fetching wrong value for logmsg nvpair
(#3281)
packaging/debian
: fix mod-rdkafka Debian packaging
(#3282)
kafka destination
: destination halts if consumer is down, and kafka's queue is filled
(#3305)
file-source
: Throw error, when follow-freq()
is set with a negative float number.
(#3306)
stats-freq
: with high stats-freq syslog-ng emits stats immediately causing high memory and CPU usage
(#3320)
secure-logging
: bug fixes (#3284)
dbld
: Fedora 32 support (#3315)dbld
: Removed Ubuntu Eoan (#3313)secure-logging
: improvements (#3284)
slogimport
has been renamed to slogencrypt
$(slog)
will not start anymore when key is not foundslogkey -s
is now parsabledbld
: devshell is now upgraded to Ubuntu Focaldbld/devshell
: Multiple changes:
python2
and python3
.threaded-source
: fully support default-priority() and default-facility()CMake
: fix libcap detectionsyslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Airbus Commercial Aircraft, Andras Mitzki, Antal Nemes, Attila Szakacs,
Balazs Scheidler, Gabor Nagy, Laszlo Budai, Laszlo Szemere, László Várady,
Péter Kókai, Vatsal Sisodiya, Vivin Peris.
Published by lbudai over 4 years ago
DESTIP/DESTPORT/PROTO
: new macros. (#2899)set-facility()
: add new rewrite operation to change the syslog facility associated with the message. (#3136)network tls
: Added ca-file()
option. With this option the user can set a bundled CA-file to verify the peer. (#3145)Forward integrity and confidentiality of logs
(#3121): It is an experimental feature currently, we are still working on the final form with the authors.DESTIP/DESTPORT/PROTO
: new macros
These new macros express the destination ip, destination port and used protocol on a source.
The use-case behind the PR is as follows:
netmask()
doesn't work because the IP addresses are the samehost()
doesn't work because the hostnames are the sameExample:
log {
source { network(localip(10.12.15.215) port(5555) transport(udp)); };
destination { file("/dev/stdout" template("destip=$DESTIP destport=$DESTPORT proto=$PROTO\n")); };
};
Output:
destip=10.12.15.215 destport=5555 proto=17
(#2899)
set-facility()
: add new rewrite operation to change the syslog facility
associated with the message.
log {
source { system(); };
if (program("postfix")) {
rewrite { set-facility("mail"); };
};
destination { file("/var/log/mail.log"); };
flags(flow-control);
};
(#3136)
network tls
: Added ca-file()
option. With this option the user can set a bundled CA-file to verify the peer.
(#3145)
http
: When a HTTP response is received, emit a signal with the HTTP response code.
(Later it can be extended to read the response and parse it in a slot...).
This PR also extends the Python HTTP header module with the possibility of writing custom HTTP response code handlers. When someone implements an auth header plugin in Python, it could be useful (for example invalidating a cache).
@version: 3.25
python {
from syslogng import Logger
logger = Logger()
class TestCounter():
def __init__(self, options):
self.header = options["header"]
self.counter = int(options["counter"])
logger.debug(f"TestCounter class instantiated; options={options}")
def get_headers(self, body, headers):
logger.debug(f"get_headers() called, received body={body}, headers={headers}")
response = ["{}: {}".format(self.header, self.counter)]
self.counter += 1
return response
def on_http_response_received(self, http_code):
self.counter += http_code
logger.debug("HTTP response code received: {}".format(http_code))
def __del__(self):
logger.debug("Deleting TestCounter class instance")
};
source s_network {
network(port(5555));
};
destination d_http {
http(
python_http_header(
class("TestCounter")
options("header", "X-Test-Python-Counter")
options("counter", 11)
# this means that syslog-ng will trying to send the http request even when this module fails
mark-errors-as-critical(no)
)
url("http://127.0.0.1:8888")
);
};
log {
source(s_network);
destination(d_http);
flags(flow-control);
};
(#3159)
java/python
: add support for the "arrow" syntax.
options("key" => "value")
python
: persist support for python
This feature enables users to persist data between reloads or restarts. The intended usage is to support bookmarking and acknowledgement in the future. It is not suitable for local database use cases.
(#3171)
rewrite
: Added conditional set-tag()
option. With this option the user can put condition statement inside set-tag option.
rewrite { set-tag("tag" condition(match("test" value("MSG")))); };
(#3190)
scl
: add sumologic destinations: sumologic-syslog()
and sumologic-http()
(#3194)
iterate
: new template function
The iterate template function generates a series from an initial number and a next
function.
For example you can generate a sequence of nonnegative numbers with
source {
example-msg-generator(
num(3)
template("$(iterate $(+ 1 $_) 0)")
);
};
(#3205)
telegram
: new max-size
option
Telegram message will be truncated for max-size
size. Telegram does not accept message larger than 4096 utf8 characters. The default value is 4096.
(#3206)
example-message-generator
: add support for values(name1 => value1, name2 => value2,..)
syntax.
Example
@version: 3.27
log {
source { example-msg-generator(template("message parameter")
num(10)
values("PROGRAM" => "program-name"
"current-second" => "$C_SEC"
));
};
destination { file(/dev/stdout template("$(format-json --scope all-nv-pairs)\n")); };
};
(#3237)
example-msg-generator
: support freq(0)
for fast message generation
log {
source { example-msg-generator(freq(0) num(100)); };
destination { file("/dev/stdout"); };
};
(#3245)
file
: changed time-reap()
timer's schedule to respect the documentation (expires after last message)
(#3133)
dbld
: fix building problems
tls (network)
: Properly log an error message, when key-file()
or cert-file()
is missing.
(#3145)
loggen
: fix crash with invalid parameterization
(#3146)
format-json
: fix printing of embedded zeros
Prior to 2.64.1, g_utf8_get_char_validated()
in glib falsely identified embedded zeros as valid utf8 characters. As a result, format json printed the embedded zeroes as \u0000
instead of \x00
. This change fixes this problem.
(#3175)
configure
: fix --with-net-snmp
configure option
(#3180)
python
: fix Py_None
reference counting in logger methods (trace, debug, info, warning, error)
(#3187)
afmongodb
: do not build module when ENABLE_MONGODB=OFF
(#3188)
telegram
: automatically truncate messages larger than 4096 utf8 characters to avoid telegram destination to get stuck
(#3206)
compat/glib
: fix recursive call issue on CentOS-6/RHEL-6/platforms
(#3212)
timeutils
: fix crash in %f
conversion when non-numeric character is in usec field (e.g. ".asd123")
(#3270)
macOS
: add example startup configuration.
(#3172)
rpm
: fix --without maxminddb option
If maxminddb development package was installed on the build system: rpmbuild fails if --without maxminddb
was used.
(#3208)
light
: Support to relocate reports dir other than current base dir
For example
python -m pytest -lvs functional_tests/source_drivers/file_source/test_acceptance.py --installdir=/install --reports /tmp/
(#3157)
CONTRIBUTING.md
: contribution guide updated
(#3174)
libtest
: Now we install config_parse_lib.h
, fake-time.h
, mock-cfg-parser.h
and queue_utils_lib.h
which help unit testing outside of core.
(#3179)
tests
: Wait until snmptrapd process able to write traps into output file
(#3185)
mongodb
: Replaced the deprecated get_server_status()
API with command_simple()
.
This means, that syslog-ng
can now be built with -Werror
on systems with 1.15 libmongoc
.
(#3199)
stats
: add external stats counters
There are situations when someone wants to expose internal variables through stats-api.
Without this changeset, we need two distinct variables: one is for the internal state, other is for the
stats registration (internal state cannot depends on the life cycle of the StatsCounterGroup
).
(#3225)
afsnmp
: merge two existing SNMP modules (trapd-parser and destination) into one.
Motivation: keep closely related modules together and decrease the number of small packages.
Packaging related changes:
libsnmptrapd-parser.so has been removed, both the snmp destination and the trapd parser are part of afsnmp.so .
dbld
: remove ubuntu-cosmic
as it has reached EOL
(#3143)
afsocket-source
: present the number of connections in stats
It helps in the debug process if we can see the number of source connections counted by syslog-ng internally.
(#3193)
syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Airbus Commercial Aircraft, Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler, Gabor Nagy, Kokan, Laszlo Budai, Laszlo Szemere, László Várady, Mehul Prajapati, Roberto Meléndez, Stephan Marwedel, Steven Haigh, Peter Czanik, Thomas De Schampheleire, Vatsal Sisodiya, Vivin Peris
Published by lbudai over 4 years ago
file source
: Added a new option to multi-line file sources: multi-line-timeout()
After waiting multi-line-timeout()
seconds without reading new data from the file, the last (potentially partial)
message will be flushed and sent through the pipeline as a LogMessage.
Since the multi-line file source detects the end of a message after finding the beginning of the subsequent message
(indented or no-garbage/suffix mode), this option can be used to flush the last multi-line message
in the file after a multi-line-timeout()-second timeout.
There is no default value, i.e. this timeout needs to be explicitly configured.
Example config:
file("/some/folder/events"
multi-line-mode("prefix-garbage")
multi-line-prefix('^EVENT: ')
multi-line-timeout(10)
flags("no-parse")
);
(#2963)
python-http-header
: Added this new plugin, which makes it possible for users to implement HTTP header plugins in Python language.
It is built on top of signal-slot mechanism: currently HTTP module defines only one signal, that is signal_http_header_request
and python-http-header
plugin implements a python binding for this signal. This means that when the signal_http_header_request
signal is emitted then the connected slot executes the Python code.
The Python interface is:
def get_headers(self, body, headers):
It should return string List. The headers that will be appended to the request's header.
When the plugin fails, http module won't try to send the http request without the header items by default.
If you want http
module to trying to send the request without these headers, just disable mark-errors-as-critical()
function.
Original code was written by Ferenc Sipos.
@version: 3.26
python {
from syslogng import Logger
logger = Logger()
class TestCounter():
def __init__(self, options):
self.header = options["header"]
self.counter = int(options["counter"])
logger.debug(f"TestCounter class instantiated; options={options}")
def get_headers(self, body, headers):
logger.debug(f"get_headers() called, received body={body}, headers={headers}")
response = ["{}: {}".format(self.header, self.counter)]
self.counter += 1
return response
def __del__(self):
logger.debug("Deleting TestCounter class instance")
};
source s_network {
network(port(5555));
};
destination d_http {
http(
python_http_header(
class("TestCounter")
options("header", "X-Test-Python-Counter")
options("counter", 11)
# this means that syslog-ng will trying to send the http request even when this module fails
mark-errors-as-critical(no)
)
url("http://127.0.0.1:8888")
);
};
log {
source(s_network);
destination(d_http);
flags(flow-control);
};
azure-auth-header
: Added this new plugin, which generates authorization header for applications connecting to Azure.
It can be used as a building block in higher level SCLs.
Implemented as a signal-slot
plugin.
@version: 3.26
@include "scl.conf"
destination d_http {
http(
url("http://127.0.0.1:8888")
method("PUT")
user_agent("syslog-ng User Agent")
body("${ISODATE} ${MESSAGE}")
azure-auth-header(
workspace-id("workspace-id")
secret("aa1a")
method("POST")
path("/api/logs")
content-type("application/json")
)
);
};
source s_gen {
example-msg-generator(num(1) template("Test message\n"));
};
log {
source(s_gen);
destination(d_http);
};
python
: From now on users can specify a persist name template from python code.
@staticmethod
def generate_persist_name(options):
return options["file_name"]
python
destination is used multiple times in one config.generate_persist_name
.self.persist_name
. (#3016)set-severity()
: Added this new rewrite rule for changing message severity.rewrite {
set-severity("info");
set-severity("6");
set-severity("${.json.severity}");
};
(#3115)$(list-search)
: Added a new template function, which returns the first index of a pattern in a list.start_index
. 0 based. If not found, returns empty string.$(list-search --mode MODE <pattern> ${list})
literal
(default), prefix
, substring
, glob
, pcre
.--start-index <index>
to change the start index. (#2955)config version
: Made the config version check of the configuration more liberal by accepting version numberssyslog-ng
without a warning at startup. (#3074)$SEVERITY instead of $LEVEL
: syslog-ng
now follows the RFC3164 trend of using severity
instead of level
$SEVERITY
),severity()
) and so on. (#3128)http
: Added ssl_version("tlsv1_3")
and ssl_version("no-tlsv13")
options to respectively force and disable TLSv1.3. (#3063)scl
: Improved error message at init, when an scl
is missing a dependency. (#3015)geoip2
: Added template()
option as an alias for the positional argument string, to match the grammar convention. (#3051)loggly
: Added transport()
option, so users can now use it with tls
(or any network()
supported transport). (#3149)config-option-database
: Added support for parser
, diskq
and hook-commands
blocks. (#3029)configure.ac
: Fixed gethostbyname()
function location detection (#3135)
http
: Fixed a crash, when workers()
was set to 0. We do not allow nonnegative values anymore. (#3116)
snmp-dest
: engine-id()
option now handles 5 to 32 characters, instead of the strict 10 before. (#3058)
http
: Fixed handling of ssl-version()
option, which was ignored before.
Prior this fix, these values of ssl-version
in http destination were ignored by syslog-ng:
tlsv1_0
, tlsv1_1
, tlsv1_2
, tlsv1_3
. (#3083)
network
sources: Added workaround for a TLS 1.3 bug to prevent data loss.
Due to a bug in the OpenSSL TLS 1.3 implementation (openssl/openssl#10880),
it is possible to lose messages when one-way communication protocols are used, -
such as the syslog protocol over TLS (RFC 5425,
RFC 6587) - and the connection is closed by the client right after sending data.
The bug is in the TLS 1.3 session ticket handling logic of OpenSSL.
To prevent such data loss, we've disabled TLS 1.3 session tickets in all syslog-ng network sources.
Tickets are used for session resumption, which is currently not supported by syslog-ng.
The loggen
testing tool also received some bugfixes (#3064), which reduce the
likelihood of data loss if the target of loggen has not turned off session tickets.
If you're sending logs to third-party OpenSSL-based TLS 1.3 collectors, we recommend turning session
tickets off in those applications as well until the OpenSSL bug is fixed. (#3082)
cmake
: Now we install loggen
headers, as we do with autotools
. (#3067)
graylog2
, format-gelf
: Fixed sending empty message, when ${PID}
is not set.
Also added a default value "-" to empty short_message
and host
as they are mandatory fields. (#3112)
loggen
: fix dependency error with cmake + openssl from nonstandard location (#3062)
config-option-database
: Fixed reading 'grammar' and 'parser' files on 'POSIX' environment (#3125)
file source
: Fixed file
source not able to process new message after log-msg-size()
increase. (#3075)
checkpoint parser
: Fixed parsing ISO timestamp. (#3056)
secret-storage
: Fixed some cases, where diagnostical logs were truncated. (#3141)
loggen, dqtool
: Fixed a crash, when writing error/debug message or relocating qfile. (#3069)
build: Fixed a compatibility related build error on Solaris 11. (#3070)
loggen
: Fixed address resolution when only loopback interface was configured. (#3048)
scl
: Moved scl
files to the core package. (#2979)RHEL
: Now we include the packaging/rhel/
folder in our release tarball. (#3071)RHEL 8 / CentOS 8
: Added RHEL 8 / CentOS 8 support to syslog-ng.spec
(#3034)signal-slot-connector
: Introduced a generic event handler interface for syslog-ng
modules.
SIGNAL(module_name, signal, signal_parameter_type)
The parameter type is for expressing a kind of contract between signals and slots.
#define signal_cfg_reloaded SIGNAL(config, reloaded, GlobalConfig)
the generated literal:
"config::signal_reloaded(GlobalConfig *)"
emit
passes the argument to the slots connected to the emitted signal. (#3043)http
: Defined the Signal interface for HTTP - with one signal at this time.
What's in the changeset?
struct curl_slist
for storing the headers.header_request
.http-signals.h
is LGPL . (#3044)example-modules
: Added example http slot plugin.
This plugin is an example plugin that implements a slot for a HTTP signal (signal_http_header_request
).
When the plugin is attached
, it CONNECT
itself to the signal.
When the signal is emitted by the http module, the slot is executed and append the header
to the http headers.
header
is set in the config file.
@version: 3.26
@include "scl.conf"
destination d_http {
http(
url("http://127.0.0.1:8888")
method("PUT")
user_agent("syslog-ng User Agent")
http-test-slots(
header("xxx:aaa") # this will be appended to the http headers
)
body("${ISODATE} ${MESSAGE}")
);
};
source s_generator {
example-msg-generator(num(1) template("test msg\n") );}
;
source s_net {
network(port(5555));
};
log {
source(s_generator);
destination(d_http);
};
NEWS.md
: From now on, for every PR that we want to include in the newsfile,
we must create the news entry with the PR itself. See news/README.md
. (#3066)
snmp test in Light
: Added snmp
destination tests in the Light test framework.
These tests requires snmptrapd
as an external dependency. If you don't want to run this test,
you can use the pytest's marker discovery feature: python -m pytest ... -m 'not snmp'
The tests are run by syslog-ng's Travis workflow. (#3126)
cmake
: Added add_module
function to cmake
to normalize CMakeLists.txt
files for modules. (#3106)
dbld
: Introduced syslog-ng-kira as a new CI image (#3125)
FunctionalTests: Functional tests are now Python3 compatible (#3144)
dbld
: Added Ubuntu 19.10 and 20.04 (#3091)
dbld
: Added option to customize shell
command.
With this change, it is possible to override the option with rules.conf
, while keeping the default behaviour.
The simplest example: use existing images, start a new one if there is none. (use docker rm manually if you want to update)
DOCKER_SHELL=$(DOCKER) inspect $* > /dev/null 2>&1; \
if [ $$? -eq 0 ]; then \
$(DOCKER) start -ia $*; \
else \
$(DOCKER) run $(DOCKER_RUN_ARGS) -ti --name $* balabit/syslog-ng-$* /source/dbld/shell; \
fi
(#3038)
python
: Added --with-python3-home
configure option to use a hard-coded PYTHONHOME
for Python-based plugins.--with-python3-home='${exec_prefix}'
(#3134)afmongodb
: Removed the support of deprecated legacy configurations (#3092)http
: use-system-cert-store()
now autodetects the system provided cert-store (#3086)persist-tool
. (#3072)syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler, Dylan Perry, Gabor Nagy, Laszlo Budai,
Laszlo Szemere, László Várady, Norbert Takacs, Peter Czanik, Péter Kókai, Romain Tartière, Tomáš Mózes.
Published by lbudai almost 5 years ago
http-destination
: Users now can specify the action for any HTTP result code.response-action(response_code => action)
in your http block.success
, retry
, drop
and disconnect
. (#3007)syslog-ng-cfg-db
: Added a new script, which can provide the options of./syslog-ng-cfg-db.py
from thecontrib/config_database
dir.(#2997)redis-destination
: Improved the performance by 2 orders of magnitude.create-dirs()
: Added to pipe()
source/destination, and standardize the behavior.default-network-drivers
: Added max-connections()
option, to change the limitcheckpoint
: Added support for timezone value at the end of timestamps. (#3033)filter/rewrite
: Added disable-jit
flag to disable JIT PCRE compilation. (#2992, #2986)syslog-ng-ctl
: Added export-config-graph
option to visualize config graph. (#2990)build/travis
: Added ARM64 arch support. (#2967)build/dbld
: Readded CentOS 6 support. (#2860, #2971, #3028)python
: Added Python 3.8 support. (#3017)tls
: Fixed an infinite loop which occured, when a TLS
connection broke. (#3026, #3009)log-block
: Fixed an issue, where inline network
destinations disjointedkafka/network-load-balancer
: Fixed a crash when an argument was set to empty. (#3002)python-source
: Fixed a memory corruption during reload. (#3014)python-destination
: Actually use return value of open
method. (#2998, #2513)python-fetcher
: Fixed FETCH_NO_DATA
and FETCH_TRY_AGAIN
constants. (#3012)python
: Fixed python Exception
reporting when no Exception
happened. (#2995)telegram
: Fixed the syntax error of the use-system-cert-store()
option. (#2977)config
: Throw error to single dots, which were ignored before. (#3000)file-destination
: Delay ACKs until messages are written to disk. This fixes messagehttp-destination
: Handle global template options values. (#3020)timeutils
: Fixed month and day name parsing, when only the first 2 characterslogmsg
: Added default PRI
value (LOG_USER | LOG_NOTICE
) to log messagespackaging
: Added ordering dependencies network.target
and network-online.target
amqp
: Support older (0.7.1) version (#2999)loggen
: Set plugin path in installation time. (#3019)timeutils/patterndb
: Fixed some undefined behaviours. (#2969)stomp
: Fixed a buffer over-read on connection. (#2988)pseudofile
: Fixed a crash, when template()
option is not set. (#2988)wildcard-source
: Fixed a crash, when max-files()
was set to 0. (#2988)syslog-ng-debun
: Various maintenance updates and small fixes. (#2993)scl
: Avoid @requires
loading the plugins themselves. (#2887)syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler, Clément Besnier,
Gabor Nagy, jadhavsumit98, Janos Szigetvari, Laszlo Budai, Laszlo Szemere,
László Várady, MikeLim, Nikita Uvarov, Norbert Takacs, pabloli, Péter Kókai,
Zoltan Pallagi.
Published by lbudai about 5 years ago
$(format-flat-json)
, which generates${ISOWEEK}
macroS_ISOWEEK
, R_ISOWEEK
and C_ISOWEEK
. (#2878)add-contextual-data()
glob selector. It matches the message with shellselector(glob("$my_template")
in theadd-contextual-data()
block. (#2936)set-timezone()
to set the timezone value to a specific value,fix-timezone()
to fix up an incorrectly recognized timezone and guess-timezone()
transport(tls)
.sni(yes)
option in the tls
block in yourdestination
. (#2930)templates
: change the $LOGHOST
macro to honour use-fqdn()
(#2894)syslog-ng-sysconfdir
(#2932)dqtool
: add assign dqfile to persist file feature (#2872)python, diskq, random-generator source
: crash after failed reload (#2907)LEGACY_MSGHDR
macro in case either the PID
or the PROGRAM
unset()
using a rewrite
rule. Previously LEGACY_MSGHDR
would retain the old values. (#2896)diskq
ftruncate could fail due to size 32/64 interface (#2892)udp, udp6, tcp, tcp6, syslog, network destination
: Correctly detect and set IP_MULTICAST_TTL
wildcard-file()
: Add multi-line()
, pad_size()
and multi-line-mode()
option validation. (#2922)kafka-c
: Fix multiple memleaks (#2944)geoip
: remove deprecated module, geoip2
database location detection (#2780)LightRunWithStrace
: Run syslog-ng behind strace (#2921)LightVerboseLogOnError
: Increase default pytest verbosity on error (#2919)logreader,logsource
: move scratch-buffer
mark and reclaim into LogSource
(#2903)syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler, Bertrand Jacquin,
Gabor Nagy, Henrik Grindal Bakken, Kerin Millar, kjhee43, Laszlo Budai,
Laszlo Szemere, László Várady, Péter Kókai, Raghunath Adhyapak, Zoltan Pallagi.
Published by lbudai about 5 years ago
The redis()
destination now handles any number of command parameters.
(#2816)
The format()
option of date-parser()
supports lists. From now on, a
single date-parser()
instance is able to process different date formats,
making it easy to catch on when some programs change the way they log
information. (#2779)
Add relocation support for disk-buffer()
. The relocate
subcommand of
dqtool
can be used to move a single or multiple queue files. (#2855)
file(), pipe()
: The time-reap()
option now can be set or disabled for
each destination separately.
Use time-reap(0)
to disable closing idle destination files. (#2798)
syslog-ng-ctl
: Add list-files
subcommand to print files present in the
current configuration. (#2797)
time-reap()
on non-templated filenames by default (#2798)--preprocess-into
command line flag accepts -
, and writes thefilter-op
(#2835)syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler, Gabor Nagy,
Laszlo Budai, Laszlo Szemere, László Várady, Mark Bonsack, Mehul Prajapati,
Péter Kókai, Romain Tartière, Zoltan Pallagi.
Published by lbudai over 5 years ago
Sending SNMP traps: Using the new snmp()
destination, incoming log messages
can be converted to SNMP traps, as the fields of the SNMP messages can be
customized with macros. (#2693)
$(template)
dynamic binding: Extends the $(template) template function to
allow dynamic binding. For example, the name of the template to be invoked
can come from the message (name-value pairs). (#2716)
syslog()
, network()
: Add dynamic-window-size()
option to enable dynamic
flow control that distributes the specified amount of window between active
connections at runtime. This can be used in low-memory environments, where
only a small subset of the active clients sends messages at high rate.
(#2772)
match()
: Add support for the template()
option (#2715)add-contextual-data()
: Allow using templates in name-value pairs (#2711)grouping-by()
deadlock (#2758)wildcard-file()
's bookmarkpython()
package/module name collision (#2438)snmp()
: Fix template leak (#2746)Never drop flow-controlled messages: The meaning of log-fifo-size()
has
changed to avoid dropping flow-controlled messages when log-fifo-size()
is
misconfigured. From now on, log-fifo-size()
only affects messages that are
not flow-controlled. (#2753)
The -d
/--debug
syslog-ng command line flag no longer implies
-e
/--stderr
. If you want to redirect internal()
source to stderr,
use the -e
/--stderr
option explicitly. (#2731)
dbld, RPM and DEB packaging improvements (#2724)
Checkpoint parser improvements (#2740)
Reset the timezone on config reload event (#2691)
geoip2()
: Include IP into the error message (#2743)
Improve regexp error messages (#2796)
http()
: Warn if less workers used than urls (#2757)
http()
: Allow URLs to be specified by a space/comma separated string
(#2699)
loggen: Change message rate at runtime using signals (#2756)
debun: add acquire_running_syslog_config function (#2752)
FreeBSD fixes for the test suite (#2783)
syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler,
Christian Michallek, Fabien Wernli, Gabor Nagy, Kyeong Yoo, Laszlo Budai,
Laszlo Szemere, László Várady, Mehul Prajapati, Norbert Takacs, Oleksii Hamov,
Péter Kókai, Romain Tartière, Zoltan Pallagi.
Published by lbudai over 5 years ago
Add an alternative, native, librdkafka based kafka-c() destination in
parallel of the existing Java implementation, that provides the same
configuration interface. Eventually, we expect this to replace the Java
one (#2496)
Add a native, http()
based destination based driver for elasticsearch
called elasticsearch-http()
, as an alternative of the Java one.
Eventually, we expect this to replace the Java implementation. (#2509)
Add the ability to automatically determine the timezone value for an
incoming log entry as long as the incoming stream is close to real time
and the timezone information is missing from the timestamp. Enable this
function by using flags(guess-timezone)
for sources and the
date-parser(). (#2517, #2673)
syslog()
: Add the ability to work with messages larger than log-msg-size()
in the source driver by using the trim-large-messages(yes)
option.
The characters over the limit will be truncated. Previously messages
longer than the limit caused the connection to be closed abruptly.
(#2644)
amqp()
: add support for heartbeats and the "external" authentication
mechanism. (#2676, #2626)
graylog2()
: add support for TLS and UDP. (#2657)
udp()
: Add spoof-source-max-msglen()
option to allow setting the
maximum spoofed datagram size, which was hard-wired to 1024 previously.
(#2535)
db-parser()
: add an option program-template()
that customizes the
value used for matching the PROGRAM field. (#2651)
pdbtool
: Add sort option to pdbtool merge (#2664)
$(implode)
and $(explode)
: add template functions to split and join
strings based on a simple separator. The exploded array is represented as
a syslog-ng list that can be manipulated with the $(list-*) template
functions. (#2700)
Add an --omit-empty-values
option for value-pairs based destinations &
template functions. (#2519)
grouping-by()
parser: add sort-key() option (#2701)
apache-accesslog-parser()
: support for vhost:port as the first field insyslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler, Chris Spencer,
David Liew, Fabien Wernli, Gabor Nagy, Laszlo Budai, Laszlo Szemere, Layne,
László Várady, Mehul Prajapati, Nik Ambrosch, Parth Wazurkar, Péter Kókai,
Terez Nemes, Victor Ma, Zoltan Pallagi.
Published by alltilla over 5 years ago
syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Andrej Valek, Antal Nemes, Attila Szakacs, Balazs Scheidler,
Bas van Schaik, Fᴀʙɪᴇɴ Wᴇʀɴʟɪ, Gabor Nagy, Laszlo Boszormenyi, Laszlo Budai,
Lorand Muzamel, László Várady, Mehul Prajapati, Naveen Revanna, Peter Czanik,
Peter Kokai, Romain Tartière, Stephen, Terez Nemes, Norbert Takács,
Soubhik Chakraborty, NottyRu, Chris Packham.
Published by MrAnno almost 6 years ago
interface()
option to network sources (#2389)syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Abder Benbachir, Andras Mitzki, Antal Nemes, Attila Szakacs, Balazs Scheidler,
Gabor Nagy, Gergely Tonté, JP Vossen, Juhasz Viktor, Laszlo Budai,
Laszlo Szemere, László Várady, Norbert Takacs, Peter Kokai, Zoltan Pallagi.
Published by MrAnno about 6 years ago
syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Balazs Scheidler, Gabor Nagy, Gergely Tonté,
Laszlo Budai, Laszlo Szemere, László Várady, Maurice T. Meyer, Mahmoud Salama,
Norbert Takacs, Peter Czanik, Peter Gyorko, Peter Kokai, Robert Fekete,
Terez Nemes, Tibor Bodnar, Zoltan Pallagi, y-l-i.
Published by lbudai about 6 years ago
Published by lbudai about 6 years ago
@requires json-plugin
to the cim() parser (#2181)@requires
to debug (#2147)syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Balazs Scheidler, Bernie Harris, Bertrand Jacquin,
Gabor Nagy, Gergely Nagy, German Service Network, Janos SZIGETVARI, Laszlo Budai,
Laszlo Szemere, László Várady, Norbert Takacs, Peter Czanik, Peter Kokai,
Szigetvari Janos, Terez Nemes, Viktor Juhasz.
Published by lbudai over 6 years ago
syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Andrej Valek, Antal Nemes, Balazs Scheidler, Gabor Nagy,
Gergely Nagy, German Service Network, Jakub Wilk, Laszlo Budai, Laszlo Szemere,
Laszlo Varady, Mehul Prajapati, Norbert Takacs, Peter Czanik, Peter Kokai,
Tomasz Kazimierczak, Viktor Juhasz
Published by lbudai over 6 years ago
if
/elif
/else
blocks to the configuration file syntax.hook-commands
module was added, allowing one to run custom commands on@requires json
pragma. (#827, #1956)add-contextual-data
gained a new ignore-case()
option. (#1911)evtlog
shipped with syslog-ng, and are notkey-file
or cert-file
specified.afstreams
module's grammar file.lib/json-c
to json-c-0.13-20171207
. (#1900)init()
function is now optional for Python destinations. (#1756)dbld/
) has seen significant changes, among them andbld/rules
gained two new targets: login
and build
, that do what theirLogPipe
object gained a pre_init()
and a post_deinit()
method, usedhook-commands
module.syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Andras Mitzki, Antal Nemes, Balazs Scheidler, Budai Laszlo, Gabor Nagy, Gábor
Nagy, Gergely Nagy, Juhasz Viktor, Kókai Péter, Laszlo Budai, László Szemere,
László Várady, Mehul Prajapati, Norbert Takacs, Robert Fekete, SZALAY Attila,
Tamas Nagy, Terez Nemes, Utsav Krishnan, Videet Singhai, Vivek Raj