parent
4b7a1cb96a
commit
fb2ca5cbd0
@ -1,3 +1,72 @@
|
||||
# cpp_logger_assignment
|
||||
|
||||
Programming exercise to implement a logger class
|
||||
Programming exercise to implement a logger class
|
||||
|
||||
|
||||
Build it with:
|
||||
|
||||
```
|
||||
cmake .
|
||||
make
|
||||
./cpplogger
|
||||
```
|
||||
|
||||
And/or run unit-tests, using [catch2](https://github.com/catchorg/Catch2) as a submodule.
|
||||
|
||||
|
||||
```
|
||||
git submodule update --init --recursive
|
||||
cmake . -DBUILD_TESTS=ON
|
||||
make
|
||||
./cpplogger_test
|
||||
```
|
||||
|
||||
## The binary can be used as a command line tool:
|
||||
|
||||
|
||||
```
|
||||
./cpplogger
|
||||
Usage: cpplogger [OPTION]
|
||||
Logs the input (till EOF) to the console or to a file.
|
||||
|
||||
Options:
|
||||
-c, log to console
|
||||
-f FILE log to FILE
|
||||
-t, prefix lines with timestamp
|
||||
-n, prefix lines with hostname
|
||||
-u, prefix lines with user name
|
||||
-h print this help
|
||||
|
||||
Option -c and -f are mutually exclusive, specify one.
|
||||
|
||||
Homepage: <https://gitea.matetelki.eu/denes/cpp_logger_assignment>
|
||||
Author: Denes Matetelki <denes@matetelki.com>
|
||||
```
|
||||
|
||||
Examples:
|
||||
|
||||
```
|
||||
./cpplogger -t -u -c
|
||||
hello world
|
||||
Mon Nov 11 16:01:03 2019 dmatetelki hello world
|
||||
how is it going
|
||||
Mon Nov 11 16:01:09 2019 dmatetelki how is it going<CTRL+D>
|
||||
```
|
||||
|
||||
```
|
||||
cat /tmp/this.txt | ./cpplogger -f /tmp/that.txt
|
||||
```
|
||||
|
||||
## Or used as a library
|
||||
|
||||
```
|
||||
#include <Logger.hpp>
|
||||
|
||||
Logger::getInstance()->setStream(std::ostream* os);
|
||||
|
||||
Logger::getInstance()->setPrintTimeStamp(true);
|
||||
Logger::getInstance()->setPrintUserName(false);
|
||||
|
||||
LOG << word1 << word2 << variable << END;
|
||||
```
|
||||
|
||||
|
Loading…
Reference in new issue