Fetching the latest programs, projects, and workspace data.

Enhanced log daemon, w/ wide range of I/O methods
Showing 5 of 7 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Yash Mathne
Syslog-ng supports parsing CSV data from messages with its csv-parser(). This project aims to improve its functionality by reducing human input and adding more options for storing the CSV fields. Currently, csv-parser() has a mandatory option, columns("KEY1", "KEY2", ...), which specifies the name of the key-value pairs to parse the fields into. This project idea aims to make the columns() option optional and provide an alternative method for storing CSV fields: syslog-ng lists.
Mentors: Student: Shikhar Vashistha
Implementing a new log rotation mechanism natively, based on the size of the written file. and formulating new API's thereby enhancing the efficiency and effectiveness
Mentors: Student: Yash Mathne
<p>MacOS, as of 2021, is not officially supported by syslog-ng. Currently, only the building and the corresponding unit tests are guaranteed on MacOS (x86 architecture) with some minor changes to the config file. However, what makes syslog-ng a better alternative is the abundance of sources/destinations and the rich filtering capabilities.</p> <p>These, unfortunately, don't have any guarantee of working as extensive testing is still pending. Moreover, Apple has also introduced their in-house Apple Silicon laptops with ARM architecture, and no tests have been done on this system whatsoever.</p> <p>The goal of this project is to test and document the current status of syslog-ng on MacOS and if possible, provide fixes for the same. This project seeks to extensively test multiple modules with their various plugins on both the macOS architectures. For all the plugins tested, reproducible tests and documentation will be maintained and a root cause analysis provided if a plugin fails to function.</p>
Mentors: Student: Xiaoyu Qiu
<p>Using regular expressions to parse messages is very common and useful. Currently, syslog ng supports extracting fields (or name-value pairs) in its filter expressions. However, those are primarily meant for filtering and don't store extracted groups by default (despite we can manually add store-matches flags option). To make up for this deficiency, this project is to develop a new parser type, here I call it <strong>regexp-parser()</strong>. The motivation behind <strong>regexp-parser()</strong> is to remove the need to use filters to extract name-value pairs from content, which has traditionally been done by parsers. And these names can be used as user-defined macros for subsequent filtering or other types of message processing.</p>
Mentors: Student: Vivin Peris
<p>Recently a C based implementation of the kafka() destination was added to replace the older Java based one for performance. One feature that the Java implementation supported and the current C based one does not is support for the template syntax in the topic() parameter.</p> <p>The goal of this idea is to implement support for the standard syslog-ng template syntax in this parameter, allowing the use of multiple kafka topics, depending on the value of a syslog-ng name-value pair</p>