Skip to content

GSoC2015 Proposal: syslog ng as a command line tool (ecklm)

ecklm edited this page Mar 28, 2015 · 5 revisions

About the project

This project aims to ease testing of the configuration in an interactive way, where using standard in- and output is much more useful and even quicker than waiting for the daemon after every modification.

Deliverables

At the end of the summer a powerful and easily usable but fairly complex tool should come off which is appropriate for testing and replacing the syslog-ng daemon at the level of setting up and debugging a to-be used configuration.

Benefits for the community

A log manager like this can profit a lot of a command line tool like this. This can improve its' usability, flexibility and make it easier and more efficient to set up.

Benefits for me

This opportunity would give me the chance to learn how to start and manage a project as part of a lot bigger open-source conception and cooperate with other programmers understanding, using and extending their code.

Time line

Investigation period (May - 20th of June)

  • Going deep into syslog-ng documentation, configuration and code
  • Find the components that should be used from the syslog-ng daemon (eg.: configuration parser)
  • Planning detailed functionality, appropriate output format of the merged stdout log output with clear boundaries between different filters' and destinations' product
  • Discussing the plans with the mentor

Production season (20th of June - July)

  • Determining command line options and their functionalities
  • Writing the cli control structure
  • Writing source recognition from input stream and from command line options (sources should be able to be defined at the beginning of the input, or from a command line option)
  • Writing source-destination pairing from config file. Only those log();-s should be processed which are connected to the source defined.
  • Writing destination merging for standard output (as all the logs should appear on one output stream) without filters taking effect
  • Implementing filters parsing from config file
  • Creating command line options for interactive filter and destination configuration (using config parser functions on the arguments)
  • Integrating into the syslog-ng codebase
  • Constant testing step-by step with more and more complex config files
  • Periodical feedback from mentor on the actual state

Overall testing, repairing, documentation (August)

  • Testing with complex configuration files, logs and command line parameters
  • Reviewing the code form the aspect of efficiency, readability and quality of comments
  • Rebuild the whole project from source-code
  • Documenting what I have done
  • Integrating into the syslog-ng code base

Contact information

Name: Eckl, Máté

School: Budapest University of Technology and Economics (BME)

Level: BSc 2nd semester.

E-mail: ecklm94@gmail.com

Skype: asciimo94

IRC: ecklm

Availability: 20 hours a week until about 15th of June (due to examination period), after that 40 hours or more if needed. I don't plan any vacation this summer, maybe a four day weekend is possible about the end of July.

Professional experience

I study programming (at school and on my own) from the beginning of secondary school - basics of C++ (actually C with the std namespace) - and at the university we studied C in the first semester. I always had small projects to improve my skills. I use Archlinux and Ubuntu, therefore I'm familiar with the world of command line.

In C I haven't worked on any significant project yet. I mostly have web-related (backend) projects to mention. Some of them were only for improving skills but some are still in use by the customer. The only one currently available on the web is this. At the end of the secondary school I made a vocabulary improver Android app as a motivation to learn words for the final exam of Spanish language, and because of this I needed to learn the very basics of Java and Android. Some visual “documentation” may be found here.

Clone this wiki locally