syslog-ng 4 #3883
Replies: 23 comments 36 replies
-
|
Java upgrade from java8 to 11? It proved to be difficult to support old java (less than) and newer ones. If we could change the minimum requirement to a newer stack, we would be able to drop compatibility with the older versions. See #3432 Change: |
Beta Was this translation helpful? Give feedback.
-
|
Type aware comparisons We have two sets of comparison operators, numeric ones (<, > and =) and string based ones (lt, gt, and eq). This is confusing at first, and also the seemingly trivial expression "$foo" == "" is always true if $foo is not a number.
Fix this by interpreting the operators just like JavaScript does: try to do the right thing. strings compare as strings, numbers compare as numbers. Change: |
Beta Was this translation helpful? Give feedback.
-
|
Retain type information for name-value pairs Some of our inputs are typed (e.g. JSON), retain this type information when the same name-value pair is reproduced at the output side. Change: |
Beta Was this translation helpful? Give feedback.
-
|
Make some of our macros typed There are macros that are numeric in nature $MIN or $YEAR or $FACILITY_NUM. Make these typed, just like name-value pairs. Change: |
Beta Was this translation helpful? Give feedback.
-
|
Add typing support to these components:
|
Beta Was this translation helpful? Give feedback.
-
|
Refactor: Numeric functions should use generic-number.{c,h} to convert input to a numeric representation. |
Beta Was this translation helpful? Give feedback.
-
|
Refactor: "str-repr" library syslog-ng typing works so that name-value pairs contain a string representation of a specific type. Also, we store the "type" information along with this string. Whenever syslog-ng needs something as a specific type, it consults the type information first (e.g. consider that the name-value pair actually stores a number or a list). Then once the type is established, it "parses" the string based representation in a specific way (lists are represented as properly escaped strings). Today, the code to parse or reproduce the types in question is scattered around the code base:
It would make sense to concentrate all of the "string-representation" code in lib/str-repr, creating an consistent API along the various types we can have in syslog-ng. Probably the type-casting helpers would find a better home here. |
Beta Was this translation helpful? Give feedback.
-
|
Improve warning reporting Warnings are reported either during parsing, or later in init() functions. While error messages are quite readable and produce a very nice context of the error, warning messages contain a location information (file name, row/column) at best. With the anticipated changes in 4.0, I expect to have a larger number of upgrade warnings, so it would be great if those were a bit more easier to grasp and act upon. |
Beta Was this translation helpful? Give feedback.
-
|
It sounds scary, but maybe we could enable flow-control as a default to be "reliable by default", and add options for disabling it. |
Beta Was this translation helpful? Give feedback.
-
|
Enable RFC5424 parsing for the syslog() is a more modern transport based on RFC6587 "framing", which defaults to RFC5424 parsing, and falls back to RFC3164 in case of failures. The same could be done with the |
Beta Was this translation helpful? Give feedback.
-
|
Disable truncating of disk-buffers (proposed by @alltilla ). |
Beta Was this translation helpful? Give feedback.
-
|
Log rotation based on size: |
Beta Was this translation helpful? Give feedback.
-
|
Fixing template escaping: |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Do we need int64/int32 types? |
Beta Was this translation helpful? Give feedback.
-
|
drop |
Beta Was this translation helpful? Give feedback.
-
|
regex filter, there is already a regex parser. the parser should be used instead and no filter should be able to change the log message (either drop or accept it) |
Beta Was this translation helpful? Give feedback.
-
|
Normalize parsers behavior. Currently the parsers are not conforming, some drops the message if parsing was not successful some not. The |
Beta Was this translation helpful? Give feedback.
-
|
Drop python2 support? |
Beta Was this translation helpful? Give feedback.
-
|
Add unit-test-like functionality to config (like patterndb examples) |
Beta Was this translation helpful? Give feedback.
-
|
How to compare structured (JSON, list) name-value pairs? Right now we planned to compare these as strings, while escaping and whitespace could cause mismatches even if they are semantically the same. |
Beta Was this translation helpful? Give feedback.
-
|
Exposing JSON name-value pairs to Python bindings should be done so they are not simply represented as str instances. There are two alternative ideas at the moment:
|
Beta Was this translation helpful? Give feedback.
-
|
Support for syslog signed messages as in RFC 5848 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
This discussion is to collect changes we plan for syslog-ng 4
Beta Was this translation helpful? Give feedback.
All reactions