C/C++ - Develop a logging system for Lykke
The competition and voting have completed. Winners were determined by the citizens of Lykke City.
Days of the project
Feb 8 - Apr 8, 2018 (58 days)
Feb 9 - Mar 31, 2018
Mar 31 - Apr 8, 2018
As part of the expansion and improving Lykke services, we are looking to create a unified logging system.
The Logging system API and data contract's requirements are available at https://docs.google.com/…aO4/
Source code should be hosted in the repository on GitHub with MIT license.
Source code should be written with respect to one of the code guidelines, that are generally accepted by the community of this programming language.
Depending on the programming language (compiled or interpreted), binaries or source code should be delivered via one of the package management systems, if any exist for the given language. For example - Nuget or npm.
Logging system should not have direct I/O calls. All write calls should just add a log entry to some kind of buffer, which then will be dispatched by the background thread.
Dispatcher thread should be reliable and tolerant to any transient failures in the environment.
Each log writer (see below) or at least a writer type should have its own dispatcher thread.
Simple log writers, that not cause I/O calls, should write entries directly - without buffer (for example Console writer).
All failures of the logging system itself should be logged to the last resort log which could be one of the simple (console, for example) log writer implementation. Actual last resort log should be specified during initialization.
Logging system should have some kind of deinitialization, which ensures that all buffered log entries are persisted before deinitialization is completed.
Logging system should have extensions point - log writer (appender, persister), that writes log entries to the specific type of destination.
Adding to the new Implementation of the writer should not require changing the existing code.
Logging system could have an opportunity to create or start/stop component logging scope. This could be kind of object which can be used to write all logging entries to the same component (see below).
Logging system should have an easy way to bootstrap default configuration (see below).
The following languages are accepted:
Logging system should have an easy way to bootstrap default configuration, which should include:
Azure table storage writer
The first-place contestant will receive an award of $600, three runners-up will receive $300 each.
Submitted results must be publicly available on the GitHub. There is no guarantee of winning a prize. The prizes are only awarded to entries that the Lykke judges find worthwhile. Prizes are awarded in Lykke coins, which may be redeemed for currency and sent to your bank. You must be at least 18 years of age. You must not submit twice — your first submission is the one that counts. You will be responsible for declaring your own income to your local tax authorities. All submissions will be disclosed to the public. The prizes are given at organizer’s sole discretion. The decisions of the judges will be final — there is no appeals process if your project does not win a prize. No other compensation will be given at this stage.
|March 15, 2018 01:51|
|Username||reg. and Subm. Date||Result||Vote|
For this project, none of the submitted results matched our experts expectations, so we decided not to award the first prize.