Skip to content

Usage Examples

Filip Dutescu edited this page Mar 26, 2020 · 9 revisions

Basic Usage

The quickest way to use SBLogger is to simply create an instance of it. Then just use the methods available for outputting your logs:

...
#include "SmallBetterLogger.hpp"
...
int main()
{
  sblogger::StreamLogger logger();
  ...
  logger.WriteLine("Hello");
  logger.Write("{0}!", "World");
  ...
}

Output:

Hello
World!

Or if you wanted to write to a file:

...
#include "SmallBetterLogger.hpp"
...
int main()
{
  sblogger::FileLogger logger("mylog.log");
  ...
  logger.WriteLine("Hello");
  logger.Write("{0}!", "World");
  ...
}

Output:

#In "mylog.log"
Hello
World!

Logging with Parameters

#include "SmallBetterLogger.hpp"

int main()
{
  sblogger::StreamLogger logger();

  logger.WriteLine("{0} {1} {2} {0}", "Foo", "bar");

  return 0;
}

Output:

Foo bar {2} Foo

Or:

#include "SmallBetterLogger.hpp"

int main()
{
  sblogger::StreamLogger logger();

  logger.WriteLine("{0} {1} ", "Foo", "bar", "foobar");

  return 0;
}

Output:

Foo bar

Logging an Object

This assumes you have followed the steps explained in the Logging Objects section.

#include "SmallBetterLogger.h"

class MyClass;

int main()
{
  MyClass myObj();
  sblogger::StreamLogger logger();
  
  logger.WriteLine("{0}", myObj);

  return 0;
}

Output:

# Assuming the operator added "This is my object" as data to std::ostream
This is my object

Adding Formats to Loggers

#include "SmallBetterLogger.hpp"

int main()
{
  sblogger::StreamLogger logger("[MyLogFormat] ");

  logger.WriteLine("Foo");
  logger.WriteLine("Bar");

  return 0;
}

Output:

[MyLogFormat] Foo
[MyLogFormat] Bar

Indenting/Dedenting Messages

#include "SmallBetterLogger.hpp"

int main()
{
  sblogger::StreamLogger logger("[MyLogFormat]");

  logger.Indent();
  logger.WriteLine("Hello World,");
  logger.Dedent();
  logger.WriteLine("This is my logger!");

  return 0;
}

Output:

    [MyLogFormat] Hello World,
[MyLogFormat] This is my logger!

Using Placeholders

More information about placeholders can be found in the Placeholders section.

#include "SmallBetterLogger.hpp"

int main()
{
  sblogger::StreamLogger logger("[%Y-%m-%d %H-%M-%S] %msg [%^er]\n");
  
  logger.Error("This is an error with a custom format.\n");
  
  return 0;
}

Output:

[2019-11-07 13:37:00] This is an error with a custom format. [ERROR]