Coder Social home page Coder Social logo

chronoxor / cpplogging Goto Github PK

View Code? Open in Web Editor NEW
150.0 13.0 41.0 10.45 MB

Ultra fast and low latency C++ Logging library with flexible configuration and high throughput in multithreaded environment

License: MIT License

CMake 2.23% C++ 95.00% C 0.78% Shell 0.03% Batchfile 0.03% Python 1.94%
logging-library logging low-latency performance speed

cpplogging's Introduction

CppLogging

License Release
Linux (clang) Linux (gcc) MacOS
Windows (Cygwin) Windows (MSYS2) Windows (MinGW) Windows (Visual Studio)

C++ Logging Library provides functionality to log different events with a high throughput in multithreaded environment into different sinks (console, files, rolling files, syslog, etc.). Logging configuration is very flexible and gives functionality to build flexible logger hierarchy with combination of logging processors (sync, async), filters, layouts (binary, hash, text) and appenders.

CppLogging API reference

Contents

Features

  • Cross platform (Linux, MacOS, Windows)
  • Optimized for performance
  • Binary, hash & text layouts
  • Synchronous logging
  • Asynchronous logging
  • Flexible configuration and logger processing hierarchy
  • Appenders collection (null, memory, console, file, rolling file, ostream, syslog)
  • Logging levels (debug, info, warning, error, fatal)
  • Logging filters (by level, by logger name, by message pattern)
  • Format logging records using {fmt} library
  • Hash layout using 32-bit FNV-1a string hashing
  • Log files rolling policies (time-based, size-bases)
  • Log files Zip archivation

Requirements

Optional:

How to build?

Linux: install required packages

sudo apt-get install -y binutils-dev uuid-dev
pip3 install gil

Setup repository

git clone https://github.com/chronoxor/CppLogging.git
cd CppLogging
gil update

Linux

cd build
./unix.sh

MacOS

cd build
./unix.sh

Windows (Cygwin)

cd build
unix.bat

Windows (MSYS2)

cd build
unix.bat

Windows (MinGW)

cd build
mingw.bat

Windows (Visual Studio)

cd build
vs.bat

Logging examples

Example 1: Default logger

This is the simple example of using default logger. Just link it with CppLogging library and you'll get default logger functionality with text layout and console appender:

#include "logging/logger.h"

int main(int argc, char** argv)
{
    // Create default logger
    CppLogging::Logger logger;

    // Log some messages with different level
    logger.Debug("Debug message");
    logger.Info("Info message");
    logger.Warn("Warning message");
    logger.Error("Error message");
    logger.Fatal("Fatal message");

    return 0;
}

Example will create the following log in console: Default report

Example 2: Format with logger

CppLogging library provides powerful logging format API based on the {fmt} library:

#include "logging/logger.h"

class Date
{
public:
    Date(int year, int month, int day) : _year(year), _month(month), _day(day) {}

    friend std::ostream& operator<<(std::ostream& os, const Date& date)
    { return os << date._year << '-' << date._month << '-' << date._day; }

    friend CppLogging::Record& operator<<(CppLogging::Record& record, const Date& date)
    { return record.StoreCustomFormat("{}-{}-{}", date._year, date._month, date._day); }

private:
    int _year, _month, _day;
};

class DateTime
{
public:
    DateTime(Date date, int hours, int minutes, int seconds) : _date(date), _hours(hours), _minutes(minutes), _seconds(seconds) {}

    friend std::ostream& operator<<(std::ostream& os, const DateTime& datetime)
    { return os << datetime._date << " " << datetime._hours << ':' << datetime._minutes << ':' << datetime._seconds; }

    friend CppLogging::Record& operator<<(CppLogging::Record& record, const DateTime& datetime)
    {
        const size_t begin = record.StoreListBegin();
        record.StoreList(datetime._date);
        record.StoreList(' ');
        record.StoreList(datetime._hours);
        record.StoreList(':');
        record.StoreList(datetime._minutes);
        record.StoreList(':');
        record.StoreList(datetime._seconds);
        return record.StoreListEnd(begin);
    }

private:
    Date _date;
    int _hours, _minutes, _seconds;
};

int main(int argc, char** argv)
{
    // Create default logger
    CppLogging::Logger logger;

    // Log some messages with format
    logger.Info("argc: {}, argv: {}", argc, (void*)argv);
    logger.Info("no arguments");
    logger.Info("{0}, {1}, {2}", -1, 0, 1);
    logger.Info("{0}, {1}, {2}", 'a', 'b', 'c');
    logger.Info("{}, {}, {}", 'a', 'b', 'c');
    logger.Info("{2}, {1}, {0}", 'a', 'b', 'c');
    logger.Info("{0}{1}{0}", "abra", "cad");
    logger.Info("{:<30}", "left aligned");
    logger.Info("{:>30}", "right aligned");
    logger.Info("{:^30}", "centered");
    logger.Info("{:*^30}", "centered");
    logger.Info("{:+f}; {:+f}", 3.14, -3.14);
    logger.Info("{: f}; {: f}", 3.14, -3.14);
    logger.Info("{:-f}; {:-f}", 3.14, -3.14);
    logger.Info("int: {0:d};  hex: {0:x};  oct: {0:o}; bin: {0:b}", 42);
    logger.Info("int: {0:d};  hex: {0:#x};  oct: {0:#o};  bin: {0:#b}", 42);
    logger.Info("The date is {}", Date(2012, 12, 9));
    logger.Info("The datetime is {}", DateTime(Date(2012, 12, 9), 13, 15, 57));
    logger.Info("Elapsed time: {s:.2f} seconds", "s"_a = 1.23);
    logger.Info("The answer is {}"_format(42));

    return 0;
}

Example will create the following log:

2019-03-27T12:04:19.881Z [0x0000FFB8] INFO   - argc: 1, argv: 0x1ff83563210
2019-03-27T12:04:19.882Z [0x0000FFB8] INFO   - no arguments
2019-03-27T12:04:19.883Z [0x0000FFB8] INFO   - -1, 0, 1
2019-03-27T12:04:19.884Z [0x0000FFB8] INFO   - a, b, c
2019-03-27T12:04:19.884Z [0x0000FFB8] INFO   - a, b, c
2019-03-27T12:04:19.884Z [0x0000FFB8] INFO   - c, b, a
2019-03-27T12:04:19.884Z [0x0000FFB8] INFO   - abracadabra
2019-03-27T12:04:19.885Z [0x0000FFB8] INFO   - left aligned
2019-03-27T12:04:19.885Z [0x0000FFB8] INFO   -                  right aligned
2019-03-27T12:04:19.885Z [0x0000FFB8] INFO   -            centered
2019-03-27T12:04:19.886Z [0x0000FFB8] INFO   - ***********centered***********
2019-03-27T12:04:19.886Z [0x0000FFB8] INFO   - +3.140000; -3.140000
2019-03-27T12:04:19.887Z [0x0000FFB8] INFO   -  3.140000; -3.140000
2019-03-27T12:04:19.887Z [0x0000FFB8] INFO   - 3.140000; -3.140000
2019-03-27T12:04:19.887Z [0x0000FFB8] INFO   - int: 42;  hex: 2a;  oct: 52; bin: 101010
2019-03-27T12:04:19.888Z [0x0000FFB8] INFO   - int: 42;  hex: 0x2a;  oct: 052;  bin: 0b101010
2019-03-27T12:04:19.888Z [0x0000FFB8] INFO   - The date is 2012-12-9
2019-03-27T12:04:19.888Z [0x0000FFB8] INFO   - The datetime is 2012-12-9 13:15:57
2019-03-27T12:04:19.889Z [0x0000FFB8] INFO   - Elapsed time: 1.23 seconds
2019-03-27T12:04:19.889Z [0x0000FFB8] INFO   - The answer is 42

Example 3: Configure custom logger with text layout and console appender

This example shows how to configure a custom logger with a given name to perform logging with a text layout and console appender sink:

#include "logging/config.h"
#include "logging/logger.h"

void ConfigureLogger()
{
    // Create default logging sink processor with a text layout
    auto sink = std::make_shared<CppLogging::Processor>(std::make_shared<CppLogging::TextLayout>());
    // Add console appender
    sink->appenders().push_back(std::make_shared<CppLogging::ConsoleAppender>());

    // Configure example logger
    CppLogging::Config::ConfigLogger("example", sink);
}

int main(int argc, char** argv)
{
    // Configure logger
    ConfigureLogger();

    // Create example logger
    CppLogging::Logger logger("example");

    // Log some messages with different level
    logger.Debug("Debug message");
    logger.Info("Info message");
    logger.Warn("Warning message");
    logger.Error("Error message");
    logger.Fatal("Fatal message");

    return 0;
}

Example 4: Configure custom logger with text layout and syslog appender

Syslog appender is available only in Unix platforms and does nothing in Windows!

This example shows how to configure a custom logger with a given name to perform logging with a text layout and syslog appender sink:

#include "logging/config.h"
#include "logging/logger.h"

void ConfigureLogger()
{
    // Create default logging sink processor with a text layout
    auto sink = std::make_shared<CppLogging::Processor>(std::make_shared<CppLogging::TextLayout>());
    // Add syslog appender
    sink->appenders().push_back(std::make_shared<CppLogging::SyslogAppender>());

    // Configure example logger
    CppLogging::Config::ConfigLogger("example", sink);
}

int main(int argc, char** argv)
{
    // Configure logger
    ConfigureLogger();

    // Create example logger
    CppLogging::Logger logger("example");

    // Log some messages with different level
    logger.Debug("Debug message");
    logger.Info("Info message");
    logger.Warn("Warning message");
    logger.Error("Error message");
    logger.Fatal("Fatal message");

    return 0;
}

Example 5: Configure custom logger with binary layout and file appender

This example shows how to configure a custom logger with a given name to perform logging with a binary layout and file appender sink:

#include "logging/config.h"
#include "logging/logger.h"

void ConfigureLogger()
{
    // Create default logging sink processor with a binary layout
    auto sink = std::make_shared<CppLogging::Processor>(std::make_shared<CppLogging::BinaryLayout>());
    // Add file appender
    sink->appenders().push_back(std::make_shared<CppLogging::FileAppender>("file.bin.log"));

    // Configure example logger
    CppLogging::Config::ConfigLogger("example", sink);
}

int main(int argc, char** argv)
{
    // Configure logger
    ConfigureLogger();

    // Create example logger
    CppLogging::Logger logger("example");

    // Log some messages with different level
    logger.Debug("Debug message {}", 1);
    logger.Info("Info message {}", 2);
    logger.Warn("Warning message {}", 3);
    logger.Error("Error message {}", 4);
    logger.Fatal("Fatal message {}", 5);

    return 0;
}

Example 6: Configure custom logger with hash layout and file appender

This example shows how to configure a custom logger with a given name to perform logging with a hash layout and file appender sink:

#include "logging/config.h"
#include "logging/logger.h"

void ConfigureLogger()
{
    // Create default logging sink processor with a hash layout
    auto sink = std::make_shared<CppLogging::Processor>(std::make_shared<CppLogging::HashLayout>());
    // Add file appender
    sink->appenders().push_back(std::make_shared<CppLogging::FileAppender>("file.hash.log"));

    // Configure example logger
    CppLogging::Config::ConfigLogger("example", sink);

    // Startup the logging infrastructure
    CppLogging::Config::Startup();
}

int main(int argc, char** argv)
{
    // Configure logger
    ConfigureLogger();

    // Create example logger
    CppLogging::Logger logger("example");

    // Log some messages with different level
    logger.Debug("Debug message {}", 1);
    logger.Info("Info message {}", 2);
    logger.Warn("Warning message {}", 3);
    logger.Error("Error message {}", 4);
    logger.Fatal("Fatal message {}", 5);

    return 0;
}

Example 7: Configure logger with custom text layout pattern

Text layout message is flexible to customize with layout pattern. Text layout pattern is a string with a special placeholders provided inside curly brackets ("{}").

Supported placeholders:

  • {UtcDateTime} / {LocalDateTime} - converted to the UTC/local date & time (e.g. "1997-07-16T19:20:30.123Z" / "1997-07-16T19:20:30.123+01:00")
  • {UtcDate} / {LocalDate} - converted to the UTC/local date (e.g. "1997-07-16")
  • {Time} / {LocalTime} - converted to the UTC/local time (e.g. "19:20:30.123Z" / "19:20:30.123+01:00")
  • {UtcYear} / {LocalYear} - converted to the UTC/local four-digits year (e.g. "1997")
  • {UtcMonth} / {LocalMonth} - converted to the UTC/local two-digits month (e.g. "07")
  • {UtcDay} / {LocalDay} - converted to the UTC/local two-digits day (e.g. "16")
  • {UtcHour} / {LocalHour} - converted to the UTC/local two-digits hour (e.g. "19")
  • {UtcMinute} / {LocalMinute} - converted to the UTC/local two-digits minute (e.g. "20")
  • {UtcSecond} / {LocalSecond} - converted to the UTC/local two-digits second (e.g. "30")
  • {UtcTimezone} / {LocalTimezone} - converted to the UTC/local timezone suffix (e.g. "Z" / "+01:00")
  • {Millisecond} - converted to the three-digits millisecond (e.g. "123")
  • {Microsecond} - converted to the three-digits microsecond (e.g. "123")
  • {Nanosecond} - converted to the three-digits nanosecond (e.g. "789")
  • {Thread} - converted to the thread Id (e.g. "0x0028F3D8")
  • {Level} - converted to the logging level
  • {Logger} - converted to the logger name
  • {Message} - converted to the log message
  • {EndLine} - converted to the end line suffix (e.g. Unix "\n" or Windows "\r\n")
#include "logging/config.h"
#include "logging/logger.h"

void ConfigureLogger()
{
    // Create a custom text layout pattern
    const std::string pattern = "{UtcYear}-{UtcMonth}-{UtcDay}T{UtcHour}:{UtcMinute}:{UtcSecond}.{Millisecond}{UtcTimezone} - {Microsecond}.{Nanosecond} - [{Thread}] - {Level} - {Logger} - {Message} - {EndLine}";

    // Create default logging sink processor with a text layout
    auto sink = std::make_shared<CppLogging::Processor>(std::make_shared<CppLogging::TextLayout>(pattern));
    // Add console appender
    sink->appenders().push_back(std::make_shared<CppLogging::ConsoleAppender>());

    // Configure example logger
    CppLogging::Config::ConfigLogger("example", sink);
}

int main(int argc, char** argv)
{
    // Configure logger
    ConfigureLogger();

    // Create example logger
    CppLogging::Logger logger("example");

    // Log some messages with different level
    logger.Debug("Debug message");
    logger.Info("Info message");
    logger.Warn("Warning message");
    logger.Error("Error message");
    logger.Fatal("Fatal message");

    return 0;
}

Example 8: Configure rolling file appender with time-based policy

Time-based rolling policy will create a new logging file to write into using a special pattern (contains date & time placeholders).

Time-based policy composes logging filename from the given pattern using the following placeholders:

  • {UtcDateTime} / {LocalDateTime} - converted to the UTC/local date & time (e.g. "1997-07-16T192030Z" / "1997-07-16T192030+0100")
  • {UtcDate} / {LocalDate} - converted to the UTC/local date (e.g. "1997-07-16")
  • {Time} / {LocalTime} - converted to the UTC/local time (e.g. "192030Z" / "192030+0100")
  • {UtcYear} / {LocalYear} - converted to the UTC/local four-digits year (e.g. "1997")
  • {UtcMonth} / {LocalMonth} - converted to the UTC/local two-digits month (e.g. "07")
  • {UtcDay} / {LocalDay} - converted to the UTC/local two-digits day (e.g. "16")
  • {UtcHour} / {LocalHour} - converted to the UTC/local two-digits hour (e.g. "19")
  • {UtcMinute} / {LocalMinute} - converted to the UTC/local two-digits minute (e.g. "20")
  • {UtcSecond} / {LocalSecond} - converted to the UTC/local two-digits second (e.g. "30")
  • {UtcTimezone} / {LocalTimezone} - converted to the UTC/local timezone suffix (e.g. "Z" / "+0100")
#include "logging/config.h"
#include "logging/logger.h"

void ConfigureLogger()
{
    // Create default logging sink processor with a text layout
    auto sink = std::make_shared<CppLogging::Processor>(std::make_shared<CppLogging::TextLayout>());
    // Add rolling file appender which rolls each second and create log file with a pattern "{UtcDateTime}.log"
    sink->appenders().push_back(std::make_shared<CppLogging::RollingFileAppender>(".", CppLogging::TimeRollingPolicy::SECOND, "{UtcDateTime}.log", true));

    // Configure example logger
    CppLogging::Config::ConfigLogger("example", sink);
}

int main(int argc, char** argv)
{
    // Configure logger
    ConfigureLogger();

    // Create example logger
    CppLogging::Logger logger("example");

    // Log some messages with different level
    logger.Debug("Debug message");
    logger.Info("Info message");
    logger.Warn("Warning message");
    logger.Error("Error message");
    logger.Fatal("Fatal message");

    return 0;
}

Example 9: Configure rolling file appender with size-based policy

Size-based rolling policy will create a new logging file to write when the current file size exceeded size limit. Logging backups are indexed and its count could be limited as well.

Size-based policy for 5 backups works in a following way:

example.log   -> example.1.log
example.1.log -> example.2.log
example.2.log -> example.3.log
example.3.log -> example.4.log
example.4.log -> example.5.log
example.5.log -> remove
#include "logging/config.h"
#include "logging/logger.h"

void ConfigureLogger()
{
    // Create default logging sink processor with a binary layout
    auto sink = std::make_shared<CppLogging::Processor>(std::make_shared<CppLogging::BinaryLayout>());
    // Add rolling file appender which rolls after append 4kb of logs and will keep only 5 recent archives
    sink->appenders().push_back(std::make_shared<CppLogging::RollingFileAppender>(".", "file", "bin.log", 4096, 5, true));

    // Configure example logger
    CppLogging::Config::ConfigLogger("example", sink);
}

int main(int argc, char** argv)
{
    // Configure logger
    ConfigureLogger();

    // Create example logger
    CppLogging::Logger logger("example");

    // Log some messages with different level
    logger.Debug("Debug message");
    logger.Info("Info message");
    logger.Warn("Warning message");
    logger.Error("Error message");
    logger.Fatal("Fatal message");

    return 0;
}

Example 10: Multithreaded logging with synchronous processor

Synchronous processor uses critical-section lock to avoid multiple threads from logging at the same time (logging threads are waiting until critical-section is released).

This example shows how to configure a custom logger with a given name to use synchronous processor in multithreaded environment:

#include "logging/config.h"
#include "logging/logger.h"

#include <atomic>
#include <iostream>
#include <thread>
#include <vector>

void ConfigureLogger()
{
    // Create default logging sink processor with a binary layout
    auto sink = std::make_shared<CppLogging::SyncProcessor>(std::make_shared<CppLogging::BinaryLayout>());
    // Add file appender with size-based rolling policy and archivation
    sink->appenders().push_back(std::make_shared<CppLogging::RollingFileAppender>(".", "rolling", "bin.log", 4096, 9, true));

    // Configure example logger
    CppLogging::Config::ConfigLogger("example", sink);
}

int main(int argc, char** argv)
{
    // Configure logger
    ConfigureLogger();

    std::cout << "Press Enter to stop..." << std::endl;

    int concurrency = 4;

    // Start some threads
    std::atomic<bool> stop(false);
    std::vector<std::thread> threads;
    for (int thread = 0; thread < concurrency; ++thread)
    {
        threads.push_back(std::thread([&stop]()
        {
            // Create example logger
            CppLogging::Logger logger("example");

            int index = 0;

            while (!stop)
            {
                ++index;

                // Log some messages with different level
                logger.Debug("Debug message {}", index);
                logger.Info("Info message {}", index);
                logger.Warn("Warning message {}", index);
                logger.Error("Error message {}", index);
                logger.Fatal("Fatal message {}", index);

                // Yield for a while...
                CppCommon::Thread::Yield();
            }
        }));
    }

    // Wait for input
    std::cin.get();

    // Stop threads
    stop = true;

    // Wait for all threads
    for (auto& thread : threads)
        thread.join();

    return 0;
}

Example 11: Multithreaded logging with asynchronous processor

Asynchronous processor uses lock-free queue to collect logging records from multiple threads at the same time.

This example shows much better performance with less threads contentions in comparison with the previous one for lots of threads:

#include "logging/config.h"
#include "logging/logger.h"

#include <atomic>
#include <iostream>
#include <thread>
#include <vector>

void ConfigureLogger()
{
    // Create default logging sink processor with a text layout
    auto sink = std::make_shared<CppLogging::AsyncWaitProcessor>(std::make_shared<CppLogging::TextLayout>());
    // Add file appender with time-based rolling policy and archivation
    sink->appenders().push_back(std::make_shared<CppLogging::RollingFileAppender>(".", CppLogging::TimeRollingPolicy::SECOND, "{UtcDateTime}.log", true));

    // Configure example logger
    CppLogging::Config::ConfigLogger("example", sink);
}

int main(int argc, char** argv)
{
    // Configure logger
    ConfigureLogger();

    std::cout << "Press Enter to stop..." << std::endl;

    int concurrency = 4;

    // Start some threads
    std::atomic<bool> stop(false);
    std::vector<std::thread> threads;
    for (int thread = 0; thread < concurrency; ++thread)
    {
        threads.push_back(std::thread([&stop]()
        {
            // Create example logger
            CppLogging::Logger logger("example");

            while (!stop)
            {
                // Log some messages with different level
                logger.Debug("Debug message");
                logger.Info("Info message");
                logger.Warn("Warning message");
                logger.Error("Error message");
                logger.Fatal("Fatal message");

                // Yield for a while...
                CppCommon::Thread::Yield();
            }
        }));
    }

    // Wait for input
    std::cin.get();

    // Stop threads
    stop = true;

    // Wait for all threads
    for (auto& thread : threads)
        thread.join();

    return 0;
}

Logging benchmarks

Benchmark 1: Null appender

Benchmark source file: appender_null.cpp

Benchmark report is the following:

===============================================================================
CppLogging report. Version 1.0.0.0
===============================================================================
CPU architecutre: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
CPU logical cores: 8
CPU physical cores: 4
CPU clock speed: 3.998 GHz
CPU Hyper-Threading: enabled
RAM total: 31.962 GiB
RAM free: 16.910 GiB
===============================================================================
OS version: Microsoft Windows 8 Enterprise Edition (build 9200), 64-bit
OS bits: 64-bit
Process bits: 64-bit
Process configuaraion: release
Local timestamp: Wed Mar 27 21:20:19 2019
UTC timestamp: Wed Mar 27 18:20:19 2019
===============================================================================
Benchmark: NullAppender-binary
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: NullAppender-binary
Average time: 52 ns/op
Minimal time: 52 ns/op
Maximal time: 55 ns/op
Total time: 2.848 s
Total operations: 54324965
Operations throughput: 19070173 ops/s
===============================================================================
Benchmark: NullAppender-text
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: NullAppender-text
Average time: 214 ns/op
Minimal time: 214 ns/op
Maximal time: 225 ns/op
Total time: 4.325 s
Total operations: 20163398
Operations throughput: 4661367 ops/s
===============================================================================

Benchmark 2: File appender

Benchmark source file: appender_file.cpp

Benchmark report is the following:

===============================================================================
CppBenchmark report. Version 1.0.0.0
===============================================================================
CPU architecutre: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
CPU logical cores: 8
CPU physical cores: 4
CPU clock speed: 3.998 GHz
CPU Hyper-Threading: enabled
RAM total: 31.962 GiB
RAM free: 15.824 GiB
===============================================================================
OS version: Microsoft Windows 8 Enterprise Edition (build 9200), 64-bit
OS bits: 64-bit
Process bits: 64-bit
Process configuaraion: release
Local timestamp: Wed Mar 27 21:21:36 2019
UTC timestamp: Wed Mar 27 18:21:36 2019
===============================================================================
Benchmark: FileAppender-binary
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: FileAppender-binary
Average time: 99 ns/op
Minimal time: 99 ns/op
Maximal time: 114 ns/op
Total time: 3.490 s
Total operations: 34960790
Operations throughput: 10015343 ops/s
===============================================================================
Benchmark: FileAppender-text
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: FileAppender-text
Average time: 285 ns/op
Minimal time: 285 ns/op
Maximal time: 306 ns/op
Total time: 4.266 s
Total operations: 14965162
Operations throughput: 3507742 ops/s
===============================================================================

Benchmark 3: Synchronous processor with null appender

Benchmark source file: processor_sync.cpp

Benchmark report is the following:

===============================================================================
CppBenchmark report. Version 1.0.0.0
===============================================================================
CPU architecutre: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
CPU logical cores: 8
CPU physical cores: 4
CPU clock speed: 3.998 GHz
CPU Hyper-Threading: enabled
RAM total: 31.962 GiB
RAM free: 17.407 GiB
===============================================================================
OS version: Microsoft Windows 8 Enterprise Edition (build 9200), 64-bit
OS bits: 64-bit
Process bits: 64-bit
Process configuaraion: release
Local timestamp: Wed Mar 27 21:28:21 2019
UTC timestamp: Wed Mar 27 18:28:21 2019
===============================================================================
Benchmark: SyncProcessor-null
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: SyncProcessor-null(threads:1)
Average time: 80 ns/op
Minimal time: 80 ns/op
Maximal time: 84 ns/op
Total time: 4.227 s
Total operations: 52444919
Operations throughput: 12404934 ops/s
-------------------------------------------------------------------------------
Phase: SyncProcessor-null(threads:2)
Average time: 51 ns/op
Minimal time: 51 ns/op
Maximal time: 53 ns/op
Total time: 4.865 s
Total operations: 93864920
Operations throughput: 19291320 ops/s
-------------------------------------------------------------------------------
Phase: SyncProcessor-null(threads:4)
Average time: 179 ns/op
Minimal time: 179 ns/op
Maximal time: 186 ns/op
Total time: 7.643 s
Total operations: 42621432
Operations throughput: 5575895 ops/s
-------------------------------------------------------------------------------
Phase: SyncProcessor-null(threads:8)
Average time: 228 ns/op
Minimal time: 228 ns/op
Maximal time: 231 ns/op
Total time: 6.480 s
Total operations: 28420296
Operations throughput: 4385653 ops/s
===============================================================================
Benchmark: SyncProcessor-binary
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: SyncProcessor-binary(threads:1)
Average time: 89 ns/op
Minimal time: 89 ns/op
Maximal time: 92 ns/op
Total time: 4.602 s
Total operations: 51618553
Operations throughput: 11215740 ops/s
-------------------------------------------------------------------------------
Phase: SyncProcessor-binary(threads:2)
Average time: 100 ns/op
Minimal time: 100 ns/op
Maximal time: 104 ns/op
Total time: 8.152 s
Total operations: 81421390
Operations throughput: 9986857 ops/s
-------------------------------------------------------------------------------
Phase: SyncProcessor-binary(threads:4)
Average time: 217 ns/op
Minimal time: 217 ns/op
Maximal time: 221 ns/op
Total time: 6.998 s
Total operations: 32183128
Operations throughput: 4598492 ops/s
-------------------------------------------------------------------------------
Phase: SyncProcessor-binary(threads:8)
Average time: 278 ns/op
Minimal time: 278 ns/op
Maximal time: 281 ns/op
Total time: 6.371 s
Total operations: 22856032
Operations throughput: 3587107 ops/s
===============================================================================
Benchmark: SyncProcessor-text
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: SyncProcessor-text(threads:1)
Average time: 283 ns/op
Minimal time: 283 ns/op
Maximal time: 303 ns/op
Total time: 5.107 s
Total operations: 18024389
Operations throughput: 3529002 ops/s
-------------------------------------------------------------------------------
Phase: SyncProcessor-text(threads:2)
Average time: 337 ns/op
Minimal time: 337 ns/op
Maximal time: 346 ns/op
Total time: 6.441 s
Total operations: 19102240
Operations throughput: 2965400 ops/s
-------------------------------------------------------------------------------
Phase: SyncProcessor-text(threads:4)
Average time: 451 ns/op
Minimal time: 451 ns/op
Maximal time: 472 ns/op
Total time: 5.836 s
Total operations: 12929948
Operations throughput: 2215485 ops/s
-------------------------------------------------------------------------------
Phase: SyncProcessor-text(threads:8)
Average time: 635 ns/op
Minimal time: 635 ns/op
Maximal time: 647 ns/op
Total time: 5.781 s
Total operations: 9093400
Operations throughput: 1572751 ops/s
===============================================================================

Benchmark 4: Asynchronous processor with null appender

Benchmark source file: processor_async.cpp

Benchmark report is the following:

===============================================================================
CppBenchmark report. Version 1.0.0.0
===============================================================================
CPU architecutre: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
CPU logical cores: 8
CPU physical cores: 4
CPU clock speed: 3.998 GHz
CPU Hyper-Threading: enabled
RAM total: 31.962 GiB
RAM free: 17.461 GiB
===============================================================================
OS version: Microsoft Windows 8 Enterprise Edition (build 9200), 64-bit
OS bits: 64-bit
Process bits: 64-bit
Process configuaraion: release
Local timestamp: Wed Mar 27 21:43:05 2019
UTC timestamp: Wed Mar 27 18:43:05 2019
===============================================================================
Benchmark: AsyncWaitProcessor-null
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-null(threads:1)
Average time: 136 ns/op
Minimal time: 136 ns/op
Maximal time: 140 ns/op
Total time: 5.524 s
Total operations: 40467636
Operations throughput: 7324587 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-null(threads:2)
Average time: 91 ns/op
Minimal time: 91 ns/op
Maximal time: 93 ns/op
Total time: 5.776 s
Total operations: 63377688
Operations throughput: 10972051 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-null(threads:4)
Average time: 62 ns/op
Minimal time: 62 ns/op
Maximal time: 62 ns/op
Total time: 6.249 s
Total operations: 100633072
Operations throughput: 16101439 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-null(threads:8)
Average time: 120 ns/op
Minimal time: 120 ns/op
Maximal time: 138 ns/op
Total time: 7.087 s
Total operations: 58752032
Operations throughput: 8289066 ops/s
===============================================================================
Benchmark: AsyncWaitFreeProcessor-null
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-null(threads:1)
Average time: 136 ns/op
Minimal time: 136 ns/op
Maximal time: 140 ns/op
Total time: 5.592 s
Total operations: 40978681
Operations throughput: 7327131 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-null(threads:2)
Average time: 92 ns/op
Minimal time: 92 ns/op
Maximal time: 93 ns/op
Total time: 5.833 s
Total operations: 63027456
Operations throughput: 10804833 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-null(threads:4)
Average time: 62 ns/op
Minimal time: 62 ns/op
Maximal time: 63 ns/op
Total time: 6.205 s
Total operations: 99585424
Operations throughput: 16047167 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-null(threads:8)
Average time: 106 ns/op
Minimal time: 106 ns/op
Maximal time: 119 ns/op
Total time: 6.786 s
Total operations: 63909008
Operations throughput: 9416668 ops/s
===============================================================================
Benchmark: AsyncWaitProcessor-binary
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-binary(threads:1)
Average time: 131 ns/op
Minimal time: 131 ns/op
Maximal time: 133 ns/op
Total time: 5.011 s
Total operations: 38131145
Operations throughput: 7608534 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-binary(threads:2)
Average time: 87 ns/op
Minimal time: 87 ns/op
Maximal time: 89 ns/op
Total time: 5.212 s
Total operations: 59811130
Operations throughput: 11474219 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-binary(threads:4)
Average time: 144 ns/op
Minimal time: 144 ns/op
Maximal time: 154 ns/op
Total time: 7.396 s
Total operations: 51026276
Operations throughput: 6898920 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-binary(threads:8)
Average time: 144 ns/op
Minimal time: 144 ns/op
Maximal time: 147 ns/op
Total time: 6.523 s
Total operations: 45218480
Operations throughput: 6931931 ops/s
===============================================================================
Benchmark: AsyncWaitFreeProcessor-binary
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-binary(threads:1)
Average time: 136 ns/op
Minimal time: 136 ns/op
Maximal time: 139 ns/op
Total time: 5.049 s
Total operations: 37042770
Operations throughput: 7336301 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-binary(threads:2)
Average time: 86 ns/op
Minimal time: 86 ns/op
Maximal time: 90 ns/op
Total time: 5.143 s
Total operations: 59458290
Operations throughput: 11560056 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-binary(threads:4)
Average time: 141 ns/op
Minimal time: 141 ns/op
Maximal time: 150 ns/op
Total time: 7.482 s
Total operations: 52698160
Operations throughput: 7042986 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-binary(threads:8)
Average time: 142 ns/op
Minimal time: 142 ns/op
Maximal time: 150 ns/op
Total time: 6.616 s
Total operations: 46393216
Operations throughput: 7012137 ops/s
===============================================================================
Benchmark: AsyncWaitProcessor-text
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-text(threads:1)
Average time: 354 ns/op
Minimal time: 354 ns/op
Maximal time: 379 ns/op
Total time: 6.846 s
Total operations: 19297269
Operations throughput: 2818594 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-text(threads:2)
Average time: 408 ns/op
Minimal time: 408 ns/op
Maximal time: 438 ns/op
Total time: 6.199 s
Total operations: 15173816
Operations throughput: 2447449 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-text(threads:4)
Average time: 473 ns/op
Minimal time: 473 ns/op
Maximal time: 483 ns/op
Total time: 6.151 s
Total operations: 12987696
Operations throughput: 2111302 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitProcessor-text(threads:8)
Average time: 545 ns/op
Minimal time: 545 ns/op
Maximal time: 571 ns/op
Total time: 5.925 s
Total operations: 10872848
Operations throughput: 1834828 ops/s
===============================================================================
Benchmark: AsyncWaitFreeProcessor-text
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-text(threads:1)
Average time: 364 ns/op
Minimal time: 364 ns/op
Maximal time: 401 ns/op
Total time: 6.467 s
Total operations: 17724308
Operations throughput: 2740618 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-text(threads:2)
Average time: 401 ns/op
Minimal time: 401 ns/op
Maximal time: 433 ns/op
Total time: 6.078 s
Total operations: 15141962
Operations throughput: 2491024 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-text(threads:4)
Average time: 449 ns/op
Minimal time: 449 ns/op
Maximal time: 543 ns/op
Total time: 5.538 s
Total operations: 12314328
Operations throughput: 2223352 ops/s
-------------------------------------------------------------------------------
Phase: AsyncWaitFreeProcessor-text(threads:8)
Average time: 501 ns/op
Minimal time: 501 ns/op
Maximal time: 555 ns/op
Total time: 5.822 s
Total operations: 11619480
Operations throughput: 1995719 ops/s
===============================================================================

Benchmark 5: Synchronous processor with file appender

Benchmark source file: file_sync.cpp

Benchmark report is the following:

===============================================================================
CppBenchmark report. Version 1.0.0.0
===============================================================================
CPU architecutre: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
CPU logical cores: 8
CPU physical cores: 4
CPU clock speed: 3.998 GHz
CPU Hyper-Threading: enabled
RAM total: 31.962 GiB
RAM free: 17.227 GiB
===============================================================================
OS version: Microsoft Windows 8 Enterprise Edition (build 9200), 64-bit
OS bits: 64-bit
Process bits: 64-bit
Process configuaraion: release
Local timestamp: Wed Mar 27 23:13:37 2019
UTC timestamp: Wed Mar 27 20:13:37 2019
===============================================================================
Benchmark: FileSync-binary
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: FileSync-binary(threads:1)
Average time: 227 ns/op
Minimal time: 227 ns/op
Maximal time: 241 ns/op
Total time: 7.525 s
Total operations: 33111269
Operations throughput: 4399767 ops/s
-------------------------------------------------------------------------------
Phase: FileSync-binary(threads:2)
Average time: 319 ns/op
Minimal time: 319 ns/op
Maximal time: 342 ns/op
Total time: 8.822 s
Total operations: 27619980
Operations throughput: 3130472 ops/s
-------------------------------------------------------------------------------
Phase: FileSync-binary(threads:4)
Average time: 384 ns/op
Minimal time: 384 ns/op
Maximal time: 400 ns/op
Total time: 7.569 s
Total operations: 19670920
Operations throughput: 2598539 ops/s
-------------------------------------------------------------------------------
Phase: FileSync-binary(threads:8)
Average time: 512 ns/op
Minimal time: 512 ns/op
Maximal time: 521 ns/op
Total time: 7.187 s
Total operations: 14028248
Operations throughput: 1951843 ops/s
===============================================================================
Benchmark: FileSync-text
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: FileSync-text(threads:1)
Average time: 510 ns/op
Minimal time: 510 ns/op
Maximal time: 547 ns/op
Total time: 7.051 s
Total operations: 13811530
Operations throughput: 1958764 ops/s
-------------------------------------------------------------------------------
Phase: FileSync-text(threads:2)
Average time: 546 ns/op
Minimal time: 546 ns/op
Maximal time: 572 ns/op
Total time: 7.555 s
Total operations: 13836406
Operations throughput: 1831251 ops/s
-------------------------------------------------------------------------------
Phase: FileSync-text(threads:4)
Average time: 682 ns/op
Minimal time: 682 ns/op
Maximal time: 716 ns/op
Total time: 7.188 s
Total operations: 10538168
Operations throughput: 1466009 ops/s
-------------------------------------------------------------------------------
Phase: FileSync-text(threads:8)
Average time: 894 ns/op
Minimal time: 894 ns/op
Maximal time: 903 ns/op
Total time: 6.956 s
Total operations: 7776856
Operations throughput: 1117940 ops/s
===============================================================================

Benchmark 6: Asynchronous processor with file appender

Benchmark source file: file_async.cpp

Benchmark report is the following:

===============================================================================
CppBenchmark report. Version 1.0.0.0
===============================================================================
CPU architecutre: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
CPU logical cores: 8
CPU physical cores: 4
CPU clock speed: 3.998 GHz
CPU Hyper-Threading: enabled
RAM total: 31.962 GiB
RAM free: 17.590 GiB
===============================================================================
OS version: Microsoft Windows 8 Enterprise Edition (build 9200), 64-bit
OS bits: 64-bit
Process bits: 64-bit
Process configuaraion: release
Local timestamp: Wed Mar 27 23:45:08 2019
UTC timestamp: Wed Mar 27 20:45:08 2019
===============================================================================
Benchmark: FileAsyncWait-binary
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: FileAsyncWait-binary(threads:1)
Average time: 103 ns/op
Minimal time: 103 ns/op
Maximal time: 125 ns/op
Total time: 4.257 s
Total operations: 40989563
Operations throughput: 9627463 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWait-binary(threads:2)
Average time: 126.513 mcs/op
Minimal time: 126.513 mcs/op
Maximal time: 140.340 mcs/op
Total time: 2.838 s
Total operations: 22438
Operations throughput: 7904 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWait-binary(threads:4)
Average time: 310 ns/op
Minimal time: 310 ns/op
Maximal time: 329 ns/op
Total time: 7.908 s
Total operations: 25465332
Operations throughput: 3219949 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWait-binary(threads:8)
Average time: 354 ns/op
Minimal time: 354 ns/op
Maximal time: 380 ns/op
Total time: 7.662 s
Total operations: 21622472
Operations throughput: 2821727 ops/s
===============================================================================
Benchmark: FileAsyncWaitFree-binary
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: FileAsyncWaitFree-binary(threads:1)
Average time: 107 ns/op
Minimal time: 107 ns/op
Maximal time: 126 ns/op
Total time: 4.459 s
Total operations: 41402456
Operations throughput: 9283109 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWaitFree-binary(threads:2)
Average time: 135.946 mcs/op
Minimal time: 135.946 mcs/op
Maximal time: 147.538 mcs/op
Total time: 2.964 s
Total operations: 21810
Operations throughput: 7355 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWaitFree-binary(threads:4)
Average time: 331 ns/op
Minimal time: 331 ns/op
Maximal time: 344 ns/op
Total time: 7.963 s
Total operations: 24025796
Operations throughput: 3016885 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWaitFree-binary(threads:8)
Average time: 346 ns/op
Minimal time: 346 ns/op
Maximal time: 370 ns/op
Total time: 7.713 s
Total operations: 22267464
Operations throughput: 2886785 ops/s
===============================================================================
Benchmark: FileAsyncWait-text
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: FileAsyncWait-text(threads:1)
Average time: 373 ns/op
Minimal time: 373 ns/op
Maximal time: 445 ns/op
Total time: 4.837 s
Total operations: 12964360
Operations throughput: 2679716 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWait-text(threads:2)
Average time: 614 ns/op
Minimal time: 614 ns/op
Maximal time: 1.399 mcs/op
Total time: 8.445 ms
Total operations: 13734
Operations throughput: 1626248 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWait-text(threads:4)
Average time: 705 ns/op
Minimal time: 705 ns/op
Maximal time: 727 ns/op
Total time: 7.016 s
Total operations: 9950764
Operations throughput: 1418200 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWait-text(threads:8)
Average time: 794 ns/op
Minimal time: 794 ns/op
Maximal time: 828 ns/op
Total time: 6.891 s
Total operations: 8670376
Operations throughput: 1258208 ops/s
===============================================================================
Benchmark: FileAsyncWaitFree-text
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: FileAsyncWaitFree-text(threads:1)
Average time: 384 ns/op
Minimal time: 384 ns/op
Maximal time: 414 ns/op
Total time: 5.349 s
Total operations: 13925080
Operations throughput: 2602936 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWaitFree-text(threads:2)
Average time: 727 ns/op
Minimal time: 727 ns/op
Maximal time: 1.065 mcs/op
Total time: 12.221 ms
Total operations: 16797
Operations throughput: 1374399 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWaitFree-text(threads:4)
Average time: 765 ns/op
Minimal time: 765 ns/op
Maximal time: 875 ns/op
Total time: 6.467 s
Total operations: 8445064
Operations throughput: 1305736 ops/s
-------------------------------------------------------------------------------
Phase: FileAsyncWaitFree-text(threads:8)
Average time: 777 ns/op
Minimal time: 777 ns/op
Maximal time: 824 ns/op
Total time: 6.834 s
Total operations: 8791624
Operations throughput: 1286393 ops/s
===============================================================================

Benchmark 7: Format in logging thread vs binary serialization without format

Benchmark source file: async_format.cpp

Benchmark report is the following:

===============================================================================
CppBenchmark report. Version 1.0.0.0
===============================================================================
CPU architecutre: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
CPU logical cores: 8
CPU physical cores: 4
CPU clock speed: 3.998 GHz
CPU Hyper-Threading: enabled
RAM total: 31.962 GiB
RAM free: 17.790 GiB
===============================================================================
OS version: Microsoft Windows 8 Enterprise Edition (build 9200), 64-bit
OS bits: 64-bit
Process bits: 64-bit
Process configuaraion: release
Local timestamp: Wed Mar 27 23:54:02 2019
UTC timestamp: Wed Mar 27 20:54:02 2019
===============================================================================
Benchmark: Format(int, double, string)
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: Format(int, double, string)(threads:1)
Average time: 432 ns/op
Minimal time: 432 ns/op
Maximal time: 451 ns/op
Total time: 4.508 s
Total operations: 10415618
Operations throughput: 2310166 ops/s
-------------------------------------------------------------------------------
Phase: Format(int, double, string)(threads:2)
Average time: 371 ns/op
Minimal time: 371 ns/op
Maximal time: 509 ns/op
Total time: 7.954 ms
Total operations: 21389
Operations throughput: 2688944 ops/s
-------------------------------------------------------------------------------
Phase: Format(int, double, string)(threads:4)
Average time: 321 ns/op
Minimal time: 321 ns/op
Maximal time: 340 ns/op
Total time: 8.972 s
Total operations: 27908800
Operations throughput: 3110554 ops/s
-------------------------------------------------------------------------------
Phase: Format(int, double, string)(threads:8)
Average time: 391 ns/op
Minimal time: 391 ns/op
Maximal time: 431 ns/op
Total time: 8.539 s
Total operations: 21836936
Operations throughput: 2557197 ops/s
===============================================================================
Benchmark: Serialize(int, double, string)
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: Serialize(int, double, string)(threads:1)
Average time: 137 ns/op
Minimal time: 137 ns/op
Maximal time: 159 ns/op
Total time: 4.004 s
Total operations: 29199876
Operations throughput: 7291852 ops/s
-------------------------------------------------------------------------------
Phase: Serialize(int, double, string)(threads:2)
Average time: 173.561 mcs/op
Minimal time: 173.561 mcs/op
Maximal time: 193.575 mcs/op
Total time: 3.322 s
Total operations: 19142
Operations throughput: 5761 ops/s
-------------------------------------------------------------------------------
Phase: Serialize(int, double, string)(threads:4)
Average time: 473 ns/op
Minimal time: 473 ns/op
Maximal time: 498 ns/op
Total time: 8.683 s
Total operations: 18328828
Operations throughput: 2110848 ops/s
-------------------------------------------------------------------------------
Phase: Serialize(int, double, string)(threads:8)
Average time: 487 ns/op
Minimal time: 487 ns/op
Maximal time: 522 ns/op
Total time: 8.415 s
Total operations: 17251000
Operations throughput: 2049912 ops/s
===============================================================================

Benchmark 8: Binary layout vs hash layout vs text layout

Benchmark source file: layout.cpp

Benchmark report is the following:

===============================================================================
CppBenchmark report. Version 1.0.2.0
===============================================================================
CPU architecture: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
CPU logical cores: 8
CPU physical cores: 4
CPU clock speed: 3.998 GHz
CPU Hyper-Threading: enabled
RAM total: 31.962 GiB
RAM free: 19.664 GiB
===============================================================================
OS version: Microsoft Windows 8 Enterprise Edition (build 9200), 64-bit
OS bits: 64-bit
Process bits: 64-bit
Process configuration: release
Local timestamp: Wed Dec 29 03:57:38 2021
UTC timestamp: Wed Dec 29 00:57:38 2021
===============================================================================
Benchmark: BinaryLayout
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: BinaryLayout
Average time: 55 ns/op
Minimal time: 65 ns/op
Maximal time: 66 ns/op
Total time: 2.602 s
Total operations: 47082888
Total bytes: 3.834 GiB
Operations throughput: 18088810 ops/s
Bytes throughput: 1.476 GiB/s
===============================================================================
Benchmark: HashLayout
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: HashLayout
Average time: 80 ns/op
Minimal time: 96 ns/op
Maximal time: 96 ns/op
Total time: 3.057 s
Total operations: 38025560
Total bytes: 2.127 GiB
Operations throughput: 12435583 ops/s
Bytes throughput: 711.583 MiB/s
===============================================================================
Benchmark: TextLayout
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: TextLayout
Average time: 645 ns/op
Minimal time: 774 ns/op
Maximal time: 780 ns/op
Total time: 4.632 s
Total operations: 7171461
Total bytes: 640.004 MiB
Operations throughput: 1548184 ops/s
Bytes throughput: 138.168 MiB/s
===============================================================================

Benchmark 9: Format vs store format

Benchmark source file: format.cpp

Benchmark report is the following:

===============================================================================
CppBenchmark report. Version 1.0.0.0
===============================================================================
CPU architecutre: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
CPU logical cores: 8
CPU physical cores: 4
CPU clock speed: 3.998 GHz
CPU Hyper-Threading: enabled
RAM total: 31.962 GiB
RAM free: 17.694 GiB
===============================================================================
OS version: Microsoft Windows 8 Enterprise Edition (build 9200), 64-bit
OS bits: 64-bit
Process bits: 64-bit
Process configuaraion: release
Local timestamp: Thu Mar 28 00:09:59 2019
UTC timestamp: Wed Mar 27 21:09:59 2019
===============================================================================
Benchmark: Format(int)
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: Format(int)
Average time: 129 ns/op
Minimal time: 129 ns/op
Maximal time: 138 ns/op
Total time: 3.899 s
Total operations: 30121235
Operations throughput: 7724549 ops/s
===============================================================================
Benchmark: StoreFormat(int)
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: StoreFormat(int)
Average time: 18 ns/op
Minimal time: 18 ns/op
Maximal time: 19 ns/op
Total time: 1.726 s
Total operations: 94928448
Operations throughput: 54976298 ops/s
===============================================================================
Benchmark: Format(int, double, string)
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: Format(int, double, string)
Average time: 319 ns/op
Minimal time: 319 ns/op
Maximal time: 334 ns/op
Total time: 4.491 s
Total operations: 14047637
Operations throughput: 3127578 ops/s
===============================================================================
Benchmark: StoreFormat(int, double, string)
Attempts: 5
Duration: 5 seconds
-------------------------------------------------------------------------------
Phase: StoreFormat(int, double, string)
Average time: 33 ns/op
Minimal time: 33 ns/op
Maximal time: 35 ns/op
Total time: 2.485 s
Total operations: 73499935
Operations throughput: 29570995 ops/s
===============================================================================

Tools

Binary log reader

Binary log reader is used to convert binary logs (*.bin.log, *.bin.log.zip files) to the human-readable text format. By default it reads binary stream from 'stdin' and outputs converted text to 'stdout'. However it is possible to provide explicit input/output file names using command line arguments.

Usage: binlog [options]

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -h HELP, --help=HELP  Show help
  -i INPUT, --input=INPUT
                        Input file name
  -o OUTPUT, --output=OUTPUT
                        Output file name

Hash log reader

Hash log reader is used to convert hash logs (*.hash.log, *.hash.log.zip files) to the human-readable text format. By default it reads binary stream from 'stdin' and outputs converted text to 'stdout'. However it is possible to provide explicit input/output file names using command line arguments.

Usage: hashlog [options]

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -x HASHLOG, --hashlog=HASHLOG
                        Hashlog file name
  -i INPUT, --input=INPUT
                        Input file name
  -o OUTPUT, --output=OUTPUT
                        Output file name
  -u UPDATE, --update=UPDATE
                        Update .hashlog

Hash log depends on .hashlog map file. If hashlog file name is not provided explicitly with '--hashlog' parameter the tool will search for .hashlog file started from the current directory and go up to the parent directory hierarchy.

If .hashlog map file was not found or some hash code & string pair is missing then text log will contain the hash code in the corresponding place.

Hash log reader could be used to update .hashlog file from binary logs ('.bin.log', '.bin.log.zip' files). In this case '--update' parameter should be used with binary logs. It will read all available strings, calculate their hash codes and update .hashlog with new hash code & string pairs.

hashlog.exe -x .hashlog -u file.bin.log
Discovered logging message: "example" with hash = 0x8BF23EA1
Discovered logging message: "Info message {}" with hash = 0x513AEC0A
Discovered logging message: "Warning message {}" with hash = 0xF7854660
Discovered logging message: "Error message {}" with hash = 0x665B8AC6
Discovered logging message: "Fatal message {}" with hash = 0x77CD9E8E

Hash log builder

Hash log builder python script is used to parse C++ source files (*.h, *.inl, *.cpp) for logging messages, calculate their hash codes and generate .hashlog map file.

usage: hashlog-map command
Supported commands:
        help - show this help
        version - show version
        generate - generate .hashlog
        view - view .hashlog

Hash log builder python script can be installed using python pip:

pip3 install hashlog-map

For example for the following C++ code:

logger.Debug("Debug message {}", 1);
logger.Info("Info message {}", 2);
logger.Warn("Warning message {}", 3);
logger.Error("Error message {}", 4);
logger.Fatal("Fatal message {}", 5);

Generated .hashlog will be:

hashlog-map generate
Discovered logging message: "Debug message {}" with hash = 0xEC3CF96D
Discovered logging message: "Info message {}" with hash = 0x513AEC0A
Discovered logging message: "Warning message {}" with hash = 0xF7854660
Discovered logging message: "Error message {}" with hash = 0x665B8AC6
Discovered logging message: "Fatal message {}" with hash = 0x77CD9E8E

It is possible to shop .hashlog content in human readable format with 'view' command:

hashlog-map view
0xEC3CF96D: Debug message {}
0x513AEC0A: Info message {}
0xF7854660: Warning message {}
0x665B8AC6: Error message {}
0x77CD9E8E: Fatal message {}

cpplogging's People

Contributors

chronoxor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cpplogging's Issues

Generator platform not match

Running CMake for IfcOpenShell.

CMake Error: Error: generator platform: Win32
Does not match the platform used previously: ARM64
Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.

An error occurred

How to deal with it? Thank you!

CMake Error: Error: generator : Visual Studio 16 2019

Sorry to bother you. I came across the following issue. I'm a newbie in C++ and CMake, please forgive me if I did something wrong to build this brilliant project. Thanks in advance :-)

Environment

  1. Window 10 x64-bit
  2. Visual Studio Enterprise 2019

Issue Description

First, I run gil update, the following logs are copied from my terminal. It looks fine.

C:\repos\CppLogging>gil update
Working path: C:\repos\CppLogging
Discover git links: C:\repos\CppLogging\.gitlinks
Discover git links: C:\repos\CppLogging\modules\CppBenchmark\.gitlinks
Discover git links: C:\repos\CppLogging\modules\CppCommon\.gitlinks
Create git link: C:\repos\CppLogging\modules\Catch2 -> C:\repos\CppLogging\modules\CppBenchmark\modules\Catch2
Create git link: C:\repos\CppLogging\modules\cpp-optparse -> C:\repos\CppLogging\modules\CppBenchmark\modules\cpp-optparse
Create git link: C:\repos\CppLogging\modules\zlib -> C:\repos\CppLogging\modules\CppBenchmark\modules\zlib
Create git link: C:\repos\CppLogging\build -> C:\repos\CppLogging\modules\CppBenchmark\build
Create git link: C:\repos\CppLogging\cmake -> C:\repos\CppLogging\modules\CppBenchmark\cmake
Create git link: C:\repos\CppLogging\modules\Catch2 -> C:\repos\CppLogging\modules\CppCommon\modules\Catch2
Create git link: C:\repos\CppLogging\modules\CppBenchmark -> C:\repos\CppLogging\modules\CppCommon\modules\CppBenchmark
Create git link: C:\repos\CppLogging\build -> C:\repos\CppLogging\modules\CppCommon\build
Create git link: C:\repos\CppLogging\cmake -> C:\repos\CppLogging\modules\CppCommon\cmake
Create git link: C:\repos\CppLogging\modules\Catch2 -> C:\repos\CppLogging\modules\CppBenchmark\modules\Catch2
Create git link: C:\repos\CppLogging\modules\cpp-optparse -> C:\repos\CppLogging\modules\CppBenchmark\modules\cpp-optparse
Create git link: C:\repos\CppLogging\modules\zlib -> C:\repos\CppLogging\modules\CppBenchmark\modules\zlib
Create git link: C:\repos\CppLogging\build -> C:\repos\CppLogging\modules\CppBenchmark\build
Create git link: C:\repos\CppLogging\cmake -> C:\repos\CppLogging\modules\CppBenchmark\cmake
Create git link: C:\repos\CppLogging\modules\Catch2 -> C:\repos\CppLogging\modules\CppCommon\modules\Catch2
Create git link: C:\repos\CppLogging\modules\CppBenchmark -> C:\repos\CppLogging\modules\CppCommon\modules\CppBenchmark
Create git link: C:\repos\CppLogging\build -> C:\repos\CppLogging\modules\CppCommon\build
Create git link: C:\repos\CppLogging\cmake -> C:\repos\CppLogging\modules\CppCommon\cmake

However, here comes the problem:

C:\repos\CppLogging\build>vs.bat
CMake Error: Error: generator : Visual Studio 16 2019
Does not match the generator used previously: MinGW Makefiles
Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.

Also, I have noticed that the Error List of Visual Studio has the following error:

1> [CMake] CMake Error at cmake/SetPlatformFeatures.cmake:29 (string):
1> [CMake]   string sub-command REGEX, mode REPLACE needs at least 6 arguments total to
1> [CMake]   command.
1> [CMake] Call Stack (most recent call first):
1> [CMake]   CMakeLists.txt:26 (include)
1> [CMake] -- The System identification is Windows-10.0.19041 Windows 10.0.19041 Platform/Windows

Some Tries

I did some simple tries but the issue remains the same, like:

  1. delete the Cmake cache and rebuild it;
  2. try both 32-bit and 64-bit mode;

Logs are not added to log file, even log file is not created.

Hi,
I have the following configuration:

void ConfigureLogger()
{
    auto sink = std::make_shared<CppLogging::AsyncWaitFreeProcessor(std::make_shared<CppLogging::BinaryLayout>());
    sink->appenders().push_back(std::make_shared<CppLogging::RollingFileAppender>(".", "myfile", "bin.log", 4096, 9, true));
    CppLogging::Config::ConfigLogger("example", sink);
}

int main()
{
    ConfigureLogger();
    CppLogging::Logger logger("example");

    auto tmp = 0;
    while (tmp != 100)
    {
        logger.Info("Some message");
        ++tmp;
    }
    return 0;
}

I expect that after execution this program, the file "myfile.bin.log" will be created with logs, but there is no such a file. With e.g. FileAppender only empty file is created. Am I doing sth wrong or is it a bug ?

Error when building in Windows 10 & Visual Studio 2019

First thanks for sharing this excellent project. I'm trying to build it under Windows 10 1909 x64 edition and Visual Studio 2019, it failed with follow output:

10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
debug_appender.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
error_appender.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]

The whole building log:


** Visual Studio 2019 Developer Command Prompt v16.7.0
** Copyright (c) 2020 Microsoft Corporation


C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>E:

E:>cd server\3rdparty\CppLogging\build

E:\server\3rdparty\CppLogging\build>vs.bat
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363.
-- The C compiler identification is MSVC 19.27.29110.0
-- The CXX compiler identification is MSVC 19.27.29110.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Windows-10.0.18363 Windows 10.0.18363 Platform/Windows
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Windows-10.0.18363 Windows 10.0.18363 Platform/Windows
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - failed
-- Looking for fseeko
-- Looking for fseeko - not found
-- Looking for unistd.h
-- Looking for unistd.h - not found
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Windows-10.0.18363 Windows 10.0.18363 Platform/Windows
-- Found DbgHelp: C:/Program Files (x86)/Windows Kits/10/Lib/10.0.18362.0/um/x86/DbgHelp.Lib
-- Found RPC: C:/Program Files (x86)/Windows Kits/10/Lib/10.0.18362.0/um/x86/RpcRT4.Lib
-- Found Userenv: C:/Program Files (x86)/Windows Kits/10/Lib/10.0.18362.0/um/x86/UserEnv.Lib
-- Found LIBVLD: E:/server/3rdparty/CppLogging/modules/CppCommon/modules/vld/vld.lib
-- Configuring done
-- Generating done
-- Build files have been written to: E:/server/3rdparty/CppLogging/temp
Microsoft (R) Build Engine version 16.7.0+b89cb5fde for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 8/9/2020 7:02:53 PM.
1>Project "E:\server\3rdparty\CppLogging\temp\ALL_BUILD.vcxproj" on node 1 (default targets).
1>Project "E:\server\3rdparty\CppLogging\temp\ALL_BUILD.vcxproj" (1) is building "E:\server\3rdparty\CppLogging\temp\ZERO_CHECK.vcxproj" (2) on node 1 (default targets).
2>PrepareForBuild:
Creating directory "x64\RelWithDebInfo\ZERO_CHECK".
Creating directory "x64\RelWithDebInfo\ZERO_CHECK\ZERO_CHECK.tlog".
InitializeBuildStatus:
Creating "x64\RelWithDebInfo\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
Checking Build System
FinalizeBuildStatus:
Deleting file "x64\RelWithDebInfo\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
Touching "x64\RelWithDebInfo\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
2>Done Building Project "E:\server\3rdparty\CppLogging\temp\ZERO_CHECK.vcxproj" (default targets).
1>Project "E:\server\3rdparty\CppLogging\temp\ALL_BUILD.vcxproj" (1) is building "E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\modules\HdrHistogram.vcxproj" (3) on node 1 (default targets).
3>Project "E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\modules\HdrHistogram.vcxproj" (3) is building "E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\modules\zlib.vcxproj" (5) on node 1 (default targets).
5>PrepareForBuild:
Creating directory "zlib.dir\RelWithDebInfo".
Creating directory "E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\modules\RelWithDebInfo".
Creating directory "zlib.dir\RelWithDebInfo\zlib.tlog".
InitializeBuildStatus:
Creating "zlib.dir\RelWithDebInfo\zlib.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
1>Project "E:\server\3rdparty\CppLogging\temp\ALL_BUILD.vcxproj" (1) is building "E:\server\3rdparty\CppLogging\temp\modules\CppCommon\cppcommon.vcxproj" (6) on node 5 (default targets).
6>Project "E:\server\3rdparty\CppLogging\temp\modules\CppCommon\cppcommon.vcxproj" (6) is building "E:\server\3rdparty\CppLogging\temp\modules\CppCommon\modules\fmt.vcxproj" (11) on node 5 (default targets).
11>PrepareForBuild:
Creating directory "fmt.dir\RelWithDebInfo".
Creating directory "E:\server\3rdparty\CppLogging\temp\modules\CppCommon\modules\RelWithDebInfo".
Creating directory "fmt.dir\RelWithDebInfo\fmt.tlog".
InitializeBuildStatus:
Creating "fmt.dir\RelWithDebInfo\fmt.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
1>Project "E:\server\3rdparty\CppLogging\temp\ALL_BUILD.vcxproj" (1) is building "E:\server\3rdparty\CppLogging\temp\modules\cpp-optparse.vcxproj" (9) on node 3 (default targets).
9>PrepareForBuild:
Creating directory "cpp-optparse.dir\RelWithDebInfo".
Creating directory "E:\server\3rdparty\CppLogging\temp\modules\RelWithDebInfo".
Creating directory "cpp-optparse.dir\RelWithDebInfo\cpp-optparse.tlog".
InitializeBuildStatus:
Creating "cpp-optparse.dir\RelWithDebInfo\cpp-optparse.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
5>CustomBuild:
Building Custom Rule E:/server/3rdparty/CppLogging/modules/CppBenchmark/modules/CMakeLists.txt
9>CustomBuild:
Building Custom Rule E:/server/3rdparty/CppLogging/modules/CMakeLists.txt
11>CustomBuild:
Building Custom Rule E:/server/3rdparty/CppLogging/modules/CppCommon/modules/CMakeLists.txt
9>ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\CL.exe /c /I"E:\server\3rdparty\CppLogging\modules\cpp-optparse" /Zi /nologo /W4 /WX /diagnostics:column /O2 /Ob1 /D WIN32 /D _WINDOWS /D NDEBUG /D _C
RT_SECURE_NO_DEPRECATE /D _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /D _WIN32_WINNT=0x0A00 /D _WIN32_SDK=18362 /D "CMAKE_INTDIR="RelWithDebInfo"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /std:c++17 /Fo"cpp-optparse.dir\Rel
WithDebInfo\" /Fd"cpp-optparse.dir\RelWithDebInfo\cpp-optparse.pdb" /Gd /TP /wd4100 /wd4250 /wd4244 /errorReport:queue /bigobj "E:\server\3rdparty\CppLogging\modules\cpp-optparse\OptionParser.cpp"
5>ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\CL.exe /c /IE:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib /Zi /nologo /W4 /WX /diagnostics:column /O2 /Ob1 /D WIN32 /D _WINDOWS /D N
DEBUG /D _CRT_SECURE_NO_DEPRECATE /D _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /D _WIN32_WINNT=0x0A00 /D _WIN32_SDK=18362 /D NO_FSEEKO /D _CRT_NONSTDC_NO_DEPRECATE /D "CMAKE_INTDIR="RelWithDebInfo"" /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc
:inline /Fo"zlib.dir\RelWithDebInfo\" /Fd"zlib.dir\RelWithDebInfo\zlib.pdb" /Gd /TC /wd4100 /wd4250 /wd4127 /wd4131 /wd4244 /wd4245 /wd4267 /errorReport:queue /bigobj /bigobj E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\adler32.c E:
server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\compress.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\crc32.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\deflate.c E:\server\3rdpa
rty\CppLogging\modules\CppBenchmark\modules\zlib\gzclose.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\gzlib.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\gzread.c E:\server\3rdparty\CppLogging\module
s\CppBenchmark\modules\zlib\gzwrite.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\infback.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\inffast.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\mod
ules\zlib\inflate.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\inftrees.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\trees.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\uncompr.c
E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib\zutil.c
11>ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\CL.exe /c /IE:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include /Zi /nologo /W4 /WX /diagnostics:column /O2 /Ob1 /D WIN32 /D _WINDOWS
/D NDEBUG /D _CRT_SECURE_NO_DEPRECATE /D _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /D _WIN32_WINNT=0x0A00 /D _WIN32_SDK=18362 /D DBGHELP_SUPPORT /D RPC_SUPPORT /D USERENV_SUPPORT /D LIBVLD_SUPPORT /D "CMAKE_INTDIR="RelWithDebInfo"" /D _MBCS /Gm- /EHsc /MD /GS /
fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /std:c++17 /Fo"fmt.dir\RelWithDebInfo\" /Fd"fmt.dir\RelWithDebInfo\fmt.pdb" /Gd /TP /errorReport:queue /bigobj /bigobj E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\src\format.cc E:\DeHon
g\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\src\os.cc
9>ClCompile:
OptionParser.cpp
5>ClCompile:
adler32.c
compress.c
11>ClCompile:
format.cc
5>ClCompile:
crc32.c
deflate.c
gzclose.c
gzlib.c
gzread.c
gzwrite.c
infback.c
inffast.c
inflate.c
inftrees.c
trees.c
uncompr.c
zutil.c
Generating Code...
11>ClCompile:
os.cc
5>Lib:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\Lib.exe /OUT:"E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\modules\RelWithDebInfo\zlib.lib" /NOLOGO /MACHINE:X64 /machine:x64 zlib.dir\Rel
WithDebInfo\adler32.obj
zlib.dir\RelWithDebInfo\compress.obj
zlib.dir\RelWithDebInfo\crc32.obj
zlib.dir\RelWithDebInfo\deflate.obj
zlib.dir\RelWithDebInfo\gzclose.obj
zlib.dir\RelWithDebInfo\gzlib.obj
zlib.dir\RelWithDebInfo\gzread.obj
zlib.dir\RelWithDebInfo\gzwrite.obj
zlib.dir\RelWithDebInfo\infback.obj
zlib.dir\RelWithDebInfo\inffast.obj
zlib.dir\RelWithDebInfo\inflate.obj
zlib.dir\RelWithDebInfo\inftrees.obj
zlib.dir\RelWithDebInfo\trees.obj
zlib.dir\RelWithDebInfo\uncompr.obj
zlib.dir\RelWithDebInfo\zutil.obj
zlib.vcxproj -> E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\modules\RelWithDebInfo\zlib.lib
FinalizeBuildStatus:
Deleting file "zlib.dir\RelWithDebInfo\zlib.tlog\unsuccessfulbuild".
Touching "zlib.dir\RelWithDebInfo\zlib.tlog\zlib.lastbuildstate".
5>Done Building Project "E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\modules\zlib.vcxproj" (default targets).
3>PrepareForBuild:
Creating directory "HdrHistogram.dir\RelWithDebInfo".
Creating directory "HdrHistogram.dir\RelWithDebInfo\HdrHistogram.tlog".
InitializeBuildStatus:
Creating "HdrHistogram.dir\RelWithDebInfo\HdrHistogram.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
9>Lib:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\Lib.exe /OUT:"E:\server\3rdparty\CppLogging\temp\modules\RelWithDebInfo\cpp-optparse.lib" /NOLOGO /MACHINE:X64 /machine:x64 "cpp-optparse.dir\RelWith
DebInfo\OptionParser.obj"
3>CustomBuild:
Building Custom Rule E:/server/3rdparty/CppLogging/modules/CppBenchmark/modules/CMakeLists.txt
11>ClCompile:
Generating Code...
3>ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\CL.exe /c /IE:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\HdrHistogram\src /IE:\server\3rdparty\CppLogging\modules\CppBenchmark\mo
dules\zlib /Zi /nologo /W4 /WX /diagnostics:column /O2 /Ob1 /D WIN32 /D _WINDOWS /D NDEBUG /D _CRT_SECURE_NO_DEPRECATE /D _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /D _WIN32_WINNT=0x0A00 /D _WIN32_SDK=18362 /D NO_FSEEKO /D _CRT_NONSTDC_NO_DEPRECATE /D "CMAKE_INTD
IR="RelWithDebInfo"" /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"HdrHistogram.dir\RelWithDebInfo\" /Fd"HdrHistogram.dir\RelWithDebInfo\HdrHistogram.pdb" /Gd /TC /wd4100 /wd4250 /wd4057 /wd4146 /wd4244 /errorReport:queue /bigobj
/bigobj E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\HdrHistogram\src\hdr_encoding.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\HdrHistogram\src\hdr_histogram.c E:\server\3rdparty\CppLogging\modules\CppBenchma
rk\modules\HdrHistogram\src\hdr_histogram_log.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\HdrHistogram\src\hdr_interval_recorder.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\HdrHistogram\src\hdr_thread.c E:
server\3rdparty\CppLogging\modules\CppBenchmark\modules\HdrHistogram\src\hdr_time.c E:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\HdrHistogram\src\hdr_writer_reader_phaser.c
hdr_encoding.c
hdr_histogram.c
hdr_histogram_log.c
hdr_interval_recorder.c
hdr_thread.c
9>Lib:
cpp-optparse.vcxproj -> E:\server\3rdparty\CppLogging\temp\modules\RelWithDebInfo\cpp-optparse.lib
FinalizeBuildStatus:
Deleting file "cpp-optparse.dir\RelWithDebInfo\cpp-optparse.tlog\unsuccessfulbuild".
Touching "cpp-optparse.dir\RelWithDebInfo\cpp-optparse.tlog\cpp-optparse.lastbuildstate".
9>Done Building Project "E:\server\3rdparty\CppLogging\temp\modules\cpp-optparse.vcxproj" (default targets).
3>ClCompile:
hdr_time.c
hdr_writer_reader_phaser.c
Generating Code...
11>Lib:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\Lib.exe /OUT:"E:\server\3rdparty\CppLogging\temp\modules\CppCommon\modules\RelWithDebInfo\fmt.lib" /NOLOGO /MACHINE:X64 /machine:x64 fmt.dir\RelWithD
ebInfo\format.obj
fmt.dir\RelWithDebInfo\os.obj
3>Lib:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\Lib.exe /OUT:"E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\modules\RelWithDebInfo\HdrHistogram.lib" /NOLOGO /MACHINE:X64 /machine:x64 HdrH
istogram.dir\RelWithDebInfo\hdr_encoding.obj
HdrHistogram.dir\RelWithDebInfo\hdr_histogram.obj
HdrHistogram.dir\RelWithDebInfo\hdr_histogram_log.obj
HdrHistogram.dir\RelWithDebInfo\hdr_interval_recorder.obj
HdrHistogram.dir\RelWithDebInfo\hdr_thread.obj
HdrHistogram.dir\RelWithDebInfo\hdr_time.obj
HdrHistogram.dir\RelWithDebInfo\hdr_writer_reader_phaser.obj
11>Lib:
fmt.vcxproj -> E:\server\3rdparty\CppLogging\temp\modules\CppCommon\modules\RelWithDebInfo\fmt.lib
FinalizeBuildStatus:
Deleting file "fmt.dir\RelWithDebInfo\fmt.tlog\unsuccessfulbuild".
Touching "fmt.dir\RelWithDebInfo\fmt.tlog\fmt.lastbuildstate".
11>Done Building Project "E:\server\3rdparty\CppLogging\temp\modules\CppCommon\modules\fmt.vcxproj" (default targets).
6>PrepareForBuild:
Creating directory "cppcommon.dir\RelWithDebInfo".
Creating directory "E:\server\3rdparty\CppLogging\temp\modules\CppCommon\RelWithDebInfo".
Creating directory "cppcommon.dir\RelWithDebInfo\cppcommon.tlog".
InitializeBuildStatus:
Creating "cppcommon.dir\RelWithDebInfo\cppcommon.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
Building Custom Rule E:/server/3rdparty/CppLogging/modules/CppCommon/CMakeLists.txt
3>Lib:
HdrHistogram.vcxproj -> E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\modules\RelWithDebInfo\HdrHistogram.lib
FinalizeBuildStatus:
Deleting file "HdrHistogram.dir\RelWithDebInfo\HdrHistogram.tlog\unsuccessfulbuild".
Touching "HdrHistogram.dir\RelWithDebInfo\HdrHistogram.tlog\HdrHistogram.lastbuildstate".
3>Done Building Project "E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\modules\HdrHistogram.vcxproj" (default targets).
1>Project "E:\server\3rdparty\CppLogging\temp\ALL_BUILD.vcxproj" (1) is building "E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\cppbenchmark.vcxproj" (8) on node 4 (default targets).
8>PrepareForBuild:
Creating directory "cppbenchmark.dir\RelWithDebInfo".
Creating directory "E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\RelWithDebInfo".
Creating directory "cppbenchmark.dir\RelWithDebInfo\cppbenchmark.tlog".
InitializeBuildStatus:
Creating "cppbenchmark.dir\RelWithDebInfo\cppbenchmark.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
Building Custom Rule E:/server/3rdparty/CppLogging/modules/CppBenchmark/CMakeLists.txt
6>MakeDirsForCl:
Creating directory "E:\server\3rdparty\CppLogging\temp\modules\CppCommon\cppcommon.dir\RelWithDebInfo\source\errors".
Creating directory "E:\server\3rdparty\CppLogging\temp\modules\CppCommon\cppcommon.dir\RelWithDebInfo\source\filesystem".
ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\CL.exe /c /IE:\server\3rdparty\CppLogging\modules\CppCommon\include /IE:\server\3rdparty\CppLogging\modules\CppCommon\modules\vld /IE:\s
erver\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include /IE:\server\3rdparty\CppLogging\modules\CppCommon\modules /IE:\server\3rdparty\CppLogging\modules\CppCommon\plugins /Zi /nologo /W4 /WX /diagnostics:column /O2 /Ob1 /D WIN32 /D _WINDO
WS /D NDEBUG /D _CRT_SECURE_NO_DEPRECATE /D _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /D _WIN32_WINNT=0x0A00 /D _WIN32_SDK=18362 /D DBGHELP_SUPPORT /D RPC_SUPPORT /D USERENV_SUPPORT /D "CMAKE_INTDIR="RelWithDebInfo"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:
wchar_t /Zc:forScope /Zc:inline /GR /std:c++17 /Fo"cppcommon.dir\RelWithDebInfo\" /Fd"cppcommon.dir\RelWithDebInfo\cppcommon.pdb" /Gd /TP /wd4100 /wd4250 /errorReport:queue /bigobj /bigobj E:\server\3rdparty\CppLogging\modules\CppCommon\source\algorith
ms\token_bucket.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\cache\filecache.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\common\reader.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\common\uint128.cp
p E:\server\3rdparty\CppLogging\modules\CppCommon\source\common\uint256.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\common\writer.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\errors\exceptions_handler.cpp E:\DeH
ong\server\3rdparty\CppLogging\modules\CppCommon\source\errors\fatal.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\errors\system_error.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\filesystem\directory.cpp E:\serve
r\3rdparty\CppLogging\modules\CppCommon\source\filesystem\directory_iterator.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\filesystem\file.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\filesystem\path.cpp E:\server
\3rdparty\CppLogging\modules\CppCommon\source\filesystem\symlink.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\math\math.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\memory\memory.cpp E:\server\3rdparty\CppLogging
\modules\CppCommon\source\string\encoding.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\string\string_utils.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\system\console.cpp E:\server\3rdparty\CppLogging\modules\Cpp
Common\source\system\cpu.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\system\dll.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\system\environment.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\system\p
ipe.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\system\process.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\system\shared_memory.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\system\stack_trace.cpp
E:\server\3rdparty\CppLogging\modules\CppCommon\source\system\stack_trace_manager.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\system\stream.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\system\uuid.cpp E:
server\3rdparty\CppLogging\modules\CppCommon\source\threads\barrier.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\condition_variable.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\critical_section.cpp E:\De
Hong\server\3rdparty\CppLogging\modules\CppCommon\source\threads\event_auto_reset.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\event_manual_reset.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\file_lock.cp
p E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\latch.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\mutex.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\named_condition_variable.cpp
E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\named_critical_section.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\named_event_auto_reset.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threa
ds\named_event_manual_reset.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\named_mutex.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\named_rw_lock.cpp E:\server\3rdparty\CppLogging\modules\CppCommon
source\threads\named_semaphore.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\rw_lock.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\threads\semaphore.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\sourc
e\threads\thread.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\time\time.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\time\timestamp.cpp E:\server\3rdparty\CppLogging\modules\CppCommon\source\time\timezone.cpp
8>ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\CL.exe /c /IE:\server\3rdparty\CppLogging\modules\CppBenchmark\include /I"E:\server\3rdparty\CppLogging\modules\cpp-optparse" /IE:\serve
r\3rdparty\CppLogging\modules\CppBenchmark\modules\HdrHistogram\src /IE:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib /IE:\server\3rdparty\CppLogging\modules\CppBenchmark\modules /Zi /nologo /W4 /WX /diagnostics:column /O2 /Ob1 /D
WIN32 /D _WINDOWS /D NDEBUG /D _CRT_SECURE_NO_DEPRECATE /D _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /D _WIN32_WINNT=0x0A00 /D _WIN32_SDK=18362 /D "CMAKE_INTDIR="RelWithDebInfo"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /s
td:c++17 /Fo"cppbenchmark.dir\RelWithDebInfo\" /Fd"cppbenchmark.dir\RelWithDebInfo\cppbenchmark.pdb" /Gd /TP /wd4100 /wd4250 /errorReport:queue /bigobj /bigobj E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\barrier.cpp E:\se
rver\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\benchmark.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\benchmark_base.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\benchmark_pc.cp
p E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\benchmark_threads.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\console.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark
context.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\context_pc.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\context_threads.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source
\benchmark\environment.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\executor.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\launcher.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark
source\benchmark\launcher_console.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\phase_core.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\phase_metrics.cpp E:\server\3rdparty\CppLogging\mod
ules\CppBenchmark\source\benchmark\phase_scope.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\reporter_console.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\reporter_csv.cpp E:\server\3rdpa
rty\CppLogging\modules\CppBenchmark\source\benchmark\reporter_json.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\settings.cpp E:\server\3rdparty\CppLogging\modules\CppBenchmark\source\benchmark\system.cpp
6>ClCompile:
token_bucket.cpp
filecache.cpp
8>ClCompile:
barrier.cpp
benchmark.cpp
6>ClCompile:
reader.cpp
8>ClCompile:
benchmark_base.cpp
6>ClCompile:
uint128.cpp
uint256.cpp
8>ClCompile:
benchmark_pc.cpp
6>ClCompile:
writer.cpp
8>ClCompile:
benchmark_threads.cpp
6>ClCompile:
exceptions_handler.cpp
8>ClCompile:
console.cpp
6>ClCompile:
fatal.cpp
8>ClCompile:
context.cpp
6>ClCompile:
system_error.cpp
8>ClCompile:
context_pc.cpp
6>ClCompile:
directory.cpp
8>ClCompile:
context_threads.cpp
environment.cpp
6>ClCompile:
directory_iterator.cpp
8>ClCompile:
executor.cpp
launcher.cpp
6>ClCompile:
file.cpp
8>ClCompile:
launcher_console.cpp
6>ClCompile:
path.cpp
8>ClCompile:
phase_core.cpp
6>ClCompile:
symlink.cpp
8>ClCompile:
phase_metrics.cpp
phase_scope.cpp
6>ClCompile:
math.cpp
memory.cpp
8>ClCompile:
reporter_console.cpp
6>ClCompile:
encoding.cpp
8>ClCompile:
reporter_csv.cpp
6>ClCompile:
string_utils.cpp
8>ClCompile:
reporter_json.cpp
6>ClCompile:
console.cpp
8>ClCompile:
settings.cpp
6>ClCompile:
cpu.cpp
8>ClCompile:
Generating Code...
6>ClCompile:
Generating Code...
Compiling...
dll.cpp
8>ClCompile:
Compiling...
system.cpp
Generating Code...
6>ClCompile:
environment.cpp
8>Lib:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\Lib.exe /OUT:"E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\RelWithDebInfo\cppbenchmark.lib" /NOLOGO /MACHINE:X64 /machine:x64 cppbenchmark
.dir\RelWithDebInfo\barrier.obj
cppbenchmark.dir\RelWithDebInfo\benchmark.obj
cppbenchmark.dir\RelWithDebInfo\benchmark_base.obj
cppbenchmark.dir\RelWithDebInfo\benchmark_pc.obj
cppbenchmark.dir\RelWithDebInfo\benchmark_threads.obj
cppbenchmark.dir\RelWithDebInfo\console.obj
cppbenchmark.dir\RelWithDebInfo\context.obj
cppbenchmark.dir\RelWithDebInfo\context_pc.obj
cppbenchmark.dir\RelWithDebInfo\context_threads.obj
cppbenchmark.dir\RelWithDebInfo\environment.obj
cppbenchmark.dir\RelWithDebInfo\executor.obj
cppbenchmark.dir\RelWithDebInfo\launcher.obj
cppbenchmark.dir\RelWithDebInfo\launcher_console.obj
cppbenchmark.dir\RelWithDebInfo\phase_core.obj
cppbenchmark.dir\RelWithDebInfo\phase_metrics.obj
cppbenchmark.dir\RelWithDebInfo\phase_scope.obj
cppbenchmark.dir\RelWithDebInfo\reporter_console.obj
cppbenchmark.dir\RelWithDebInfo\reporter_csv.obj
cppbenchmark.dir\RelWithDebInfo\reporter_json.obj
cppbenchmark.dir\RelWithDebInfo\settings.obj
cppbenchmark.dir\RelWithDebInfo\system.obj
cppbenchmark.vcxproj -> E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\RelWithDebInfo\cppbenchmark.lib
FinalizeBuildStatus:
Deleting file "cppbenchmark.dir\RelWithDebInfo\cppbenchmark.tlog\unsuccessfulbuild".
Touching "cppbenchmark.dir\RelWithDebInfo\cppbenchmark.tlog\cppbenchmark.lastbuildstate".
8>Done Building Project "E:\server\3rdparty\CppLogging\temp\modules\CppBenchmark\cppbenchmark.vcxproj" (default targets).
6>ClCompile:
pipe.cpp
process.cpp
shared_memory.cpp
stack_trace.cpp
stack_trace_manager.cpp
stream.cpp
uuid.cpp
barrier.cpp
condition_variable.cpp
critical_section.cpp
event_auto_reset.cpp
event_manual_reset.cpp
file_lock.cpp
latch.cpp
mutex.cpp
named_condition_variable.cpp
named_critical_section.cpp
named_event_auto_reset.cpp
Generating Code...
Compiling...
named_event_manual_reset.cpp
named_mutex.cpp
named_rw_lock.cpp
named_semaphore.cpp
rw_lock.cpp
semaphore.cpp
thread.cpp
time.cpp
timestamp.cpp
timezone.cpp
Generating Code...
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\CL.exe /c /IE:\server\3rdparty\CppLogging\modules\CppCommon\include /IE:\server\3rdparty\CppLogging\modules\CppCommon\modules\vld /IE:\s
erver\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include /IE:\server\3rdparty\CppLogging\modules\CppCommon\modules /IE:\server\3rdparty\CppLogging\modules\CppCommon\plugins /Zi /nologo /W4 /WX /diagnostics:column /O2 /Ob1 /D WIN32 /D _WINDO
WS /D NDEBUG /D _CRT_SECURE_NO_DEPRECATE /D _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /D _WIN32_WINNT=0x0A00 /D _WIN32_SDK=18362 /D DBGHELP_SUPPORT /D RPC_SUPPORT /D USERENV_SUPPORT /D "CMAKE_INTDIR="RelWithDebInfo"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:
wchar_t /Zc:forScope /Zc:inline /GR /std:c++17 /Fo"cppcommon.dir\RelWithDebInfo/source/errors/exceptions.cpp.obj" /Fd"cppcommon.dir\RelWithDebInfo\cppcommon.pdb" /Gd /TP /wd4100 /wd4250 /errorReport:queue /bigobj /bigobj E:\server\3rdparty\CppLogging\m
odules\CppCommon\source\errors\exceptions.cpp
exceptions.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\CL.exe /c /IE:\server\3rdparty\CppLogging\modules\CppCommon\include /IE:\server\3rdparty\CppLogging\modules\CppCommon\modules\vld /IE:\s
erver\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include /IE:\server\3rdparty\CppLogging\modules\CppCommon\modules /IE:\server\3rdparty\CppLogging\modules\CppCommon\plugins /Zi /nologo /W4 /WX /diagnostics:column /O2 /Ob1 /D WIN32 /D _WINDO
WS /D NDEBUG /D _CRT_SECURE_NO_DEPRECATE /D _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /D _WIN32_WINNT=0x0A00 /D _WIN32_SDK=18362 /D DBGHELP_SUPPORT /D RPC_SUPPORT /D USERENV_SUPPORT /D "CMAKE_INTDIR="RelWithDebInfo"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:
wchar_t /Zc:forScope /Zc:inline /GR /std:c++17 /Fo"cppcommon.dir\RelWithDebInfo/source/filesystem/exceptions.cpp.obj" /Fd"cppcommon.dir\RelWithDebInfo\cppcommon.pdb" /Gd /TP /wd4100 /wd4250 /errorReport:queue /bigobj /bigobj E:\server\3rdparty\CppLoggi
ng\modules\CppCommon\source\filesystem\exceptions.cpp
exceptions.cpp
Lib:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\Lib.exe /OUT:"E:\server\3rdparty\CppLogging\temp\modules\CppCommon\RelWithDebInfo\cppcommon.lib" /NOLOGO /MACHINE:X64 /machine:x64 cppcommon.dir\RelW
ithDebInfo\token_bucket.obj
cppcommon.dir\RelWithDebInfo\filecache.obj
cppcommon.dir\RelWithDebInfo\reader.obj
cppcommon.dir\RelWithDebInfo\uint128.obj
cppcommon.dir\RelWithDebInfo\uint256.obj
cppcommon.dir\RelWithDebInfo\writer.obj
cppcommon.dir\RelWithDebInfo\exceptions_handler.obj
cppcommon.dir\RelWithDebInfo\fatal.obj
cppcommon.dir\RelWithDebInfo\system_error.obj
cppcommon.dir\RelWithDebInfo\directory.obj
cppcommon.dir\RelWithDebInfo\directory_iterator.obj
cppcommon.dir\RelWithDebInfo\file.obj
cppcommon.dir\RelWithDebInfo\path.obj
cppcommon.dir\RelWithDebInfo\symlink.obj
cppcommon.dir\RelWithDebInfo\math.obj
cppcommon.dir\RelWithDebInfo\memory.obj
cppcommon.dir\RelWithDebInfo\encoding.obj
cppcommon.dir\RelWithDebInfo\string_utils.obj
cppcommon.dir\RelWithDebInfo\console.obj
cppcommon.dir\RelWithDebInfo\cpu.obj
cppcommon.dir\RelWithDebInfo\dll.obj
cppcommon.dir\RelWithDebInfo\environment.obj
cppcommon.dir\RelWithDebInfo\pipe.obj
cppcommon.dir\RelWithDebInfo\process.obj
cppcommon.dir\RelWithDebInfo\shared_memory.obj
cppcommon.dir\RelWithDebInfo\stack_trace.obj
cppcommon.dir\RelWithDebInfo\stack_trace_manager.obj
cppcommon.dir\RelWithDebInfo\stream.obj
cppcommon.dir\RelWithDebInfo\uuid.obj
cppcommon.dir\RelWithDebInfo\barrier.obj
cppcommon.dir\RelWithDebInfo\condition_variable.obj
cppcommon.dir\RelWithDebInfo\critical_section.obj
cppcommon.dir\RelWithDebInfo\event_auto_reset.obj
cppcommon.dir\RelWithDebInfo\event_manual_reset.obj
cppcommon.dir\RelWithDebInfo\file_lock.obj
cppcommon.dir\RelWithDebInfo\latch.obj
cppcommon.dir\RelWithDebInfo\mutex.obj
cppcommon.dir\RelWithDebInfo\named_condition_variable.obj
cppcommon.dir\RelWithDebInfo\named_critical_section.obj
cppcommon.dir\RelWithDebInfo\named_event_auto_reset.obj
cppcommon.dir\RelWithDebInfo\named_event_manual_reset.obj
cppcommon.dir\RelWithDebInfo\named_mutex.obj
cppcommon.dir\RelWithDebInfo\named_rw_lock.obj
cppcommon.dir\RelWithDebInfo\named_semaphore.obj
cppcommon.dir\RelWithDebInfo\rw_lock.obj
cppcommon.dir\RelWithDebInfo\semaphore.obj
cppcommon.dir\RelWithDebInfo\thread.obj
cppcommon.dir\RelWithDebInfo\time.obj
cppcommon.dir\RelWithDebInfo\timestamp.obj
cppcommon.dir\RelWithDebInfo\timezone.obj
cppcommon.dir\RelWithDebInfo/source/errors/exceptions.cpp.obj
cppcommon.dir\RelWithDebInfo/source/filesystem/exceptions.cpp.obj
cppcommon.vcxproj -> E:\server\3rdparty\CppLogging\temp\modules\CppCommon\RelWithDebInfo\cppcommon.lib
FinalizeBuildStatus:
Deleting file "cppcommon.dir\RelWithDebInfo\cppcommon.tlog\unsuccessfulbuild".
Touching "cppcommon.dir\RelWithDebInfo\cppcommon.tlog\cppcommon.lastbuildstate".
6>Done Building Project "E:\server\3rdparty\CppLogging\temp\modules\CppCommon\cppcommon.vcxproj" (default targets).
1>Project "E:\server\3rdparty\CppLogging\temp\ALL_BUILD.vcxproj" (1) is building "E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj" (10) on node 6 (default targets).
10>PrepareForBuild:
Creating directory "cpplogging.dir\RelWithDebInfo".
Creating directory "E:\server\3rdparty\CppLogging\temp\RelWithDebInfo".
Creating directory "cpplogging.dir\RelWithDebInfo\cpplogging.tlog".
InitializeBuildStatus:
Creating "cpplogging.dir\RelWithDebInfo\cpplogging.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
Building Custom Rule E:/server/3rdparty/CppLogging/CMakeLists.txt
ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\CL.exe /c /IE:\server\3rdparty\CppLogging\include /IE:\server\3rdparty\CppLogging\modules\CppCommon\include /IE:\server\3rdparty\CppLogg
ing\modules\CppCommon\modules\vld /IE:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include /IE:\server\3rdparty\CppLogging\modules\CppBenchmark\modules\zlib /IE:\server\3rdparty\CppLogging\modules /Zi /nologo /W4 /WX /diagnosti
cs:column /O2 /Ob1 /D WIN32 /D _WINDOWS /D NDEBUG /D _CRT_SECURE_NO_DEPRECATE /D _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /D _WIN32_WINNT=0x0A00 /D _WIN32_SDK=18362 /D "CMAKE_INTDIR="RelWithDebInfo"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forS
cope /Zc:inline /GR /std:c++17 /Fo"cpplogging.dir\RelWithDebInfo\" /Fd"cpplogging.dir\RelWithDebInfo\cpplogging.pdb" /Gd /TP /wd4100 /wd4250 /errorReport:queue /bigobj E:\server\3rdparty\CppLogging\source\logging\appenders\console_appender.cpp E:\DeHon
g\server\3rdparty\CppLogging\source\logging\appenders\debug_appender.cpp E:\server\3rdparty\CppLogging\source\logging\appenders\error_appender.cpp E:\server\3rdparty\CppLogging\source\logging\appenders\file_appender.cpp E:\server\3rdparty\C
ppLogging\source\logging\appenders\memory_appender.cpp E:\server\3rdparty\CppLogging\source\logging\appenders\ostream_appender.cpp E:\server\3rdparty\CppLogging\source\logging\appenders\rolling_file_appender.cpp E:\server\3rdparty\CppLoggin
g\source\logging\appenders\syslog_appender.cpp E:\server\3rdparty\CppLogging\source\logging\config.cpp E:\server\3rdparty\CppLogging\source\logging\filters\level_filter.cpp E:\server\3rdparty\CppLogging\source\logging\filters\logger_filter.
cpp E:\server\3rdparty\CppLogging\source\logging\filters\message_filter.cpp E:\server\3rdparty\CppLogging\source\logging\filters\switch_filter.cpp E:\server\3rdparty\CppLogging\source\logging\layouts\binary_layout.cpp E:\server\3rdpa
rty\CppLogging\source\logging\layouts\text_layout.cpp E:\server\3rdparty\CppLogging\source\logging\logger.cpp E:\server\3rdparty\CppLogging\source\logging\processor.cpp E:\server\3rdparty\CppLogging\source\logging\processors\async_wait_free
_processor.cpp E:\server\3rdparty\CppLogging\source\logging\processors\async_wait_processor.cpp E:\server\3rdparty\CppLogging\source\logging\processors\buffered_processor.cpp E:\server\3rdparty\CppLogging\source\logging\processors\exclusive
_processor.cpp E:\server\3rdparty\CppLogging\source\logging\processors\sync_processor.cpp E:\server\3rdparty\CppLogging\source\logging\record.cpp
console_appender.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
debug_appender.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
error_appender.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
file_appender.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
memory_appender.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
ostream_appender.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
rolling_file_appender.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
syslog_appender.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
config.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
level_filter.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
logger_filter.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
message_filter.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
switch_filter.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
binary_layout.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
text_layout.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
logger.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
processor.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
async_wait_free_processor.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
async_wait_processor.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
buffered_processor.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
Generating Code...
Compiling...
exclusive_processor.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
sync_processor.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
record.cpp
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
E:\server\3rdparty\CppLogging\modules\CppCommon\modules\fmt\include\fmt/ostream.h(15): message : see declaration of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
10>E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
Generating Code...
10>Done Building Project "E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj" (default targets) -- FAILED.
1>Done Building Project "E:\server\3rdparty\CppLogging\temp\ALL_BUILD.vcxproj" (default targets) -- FAILED.

Build FAILED.

   "E:\server\3rdparty\CppLogging\temp\ALL_BUILD.vcxproj" (default target) (1) ->
   "E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj" (default target) (10) ->
   (ClCompile target) ->
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,58): error C3083: 'internal': the symbol to the left of a '::' must be a type [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,68): error C2039: 'named_arg': is not a member of 'fmt' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2988: unrecognizable template declaration/definition [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]
     E:\server\3rdparty\CppLogging\include\logging\record.inl(301,77): error C2143: syntax error: missing ',' before '<' [E:\server\3rdparty\CppLogging\temp\cpplogging.vcxproj]

0 Warning(s)
115 Error(s)

Time Elapsed 00:01:04.83

I followed the build method in the README, anything I missed?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.