C++ logging library. It is extremely powerful, extendable, light-weight, fast performing, thread and type safe and consists of many built-in features. It provides ability to write logs in your own customized format. It also provide support for logging your classes, third-party libraries, STL and third-party containers etc.
Using the latest master, 8489989bb26c6371df103f6cbced3fbee1bc3c2f, on:
Fedora Linux 36
x86_64 architecture
g++ (GCC) 12.1.1 20220507 (Red Hat 12.1.1-1)
cmake version 3.22.2
gtest-1.11.0-2.fc36.x86_64
$ cmake -S . -B build -Dtest:BOOL=1
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- The CXX compiler identification is GNU 12.1.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for C++ include execinfo.h
-- Looking for C++ include execinfo.h - found
-- Setting C++11
CMake Warning (dev) at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to `find_package_handle_standard_args` (GTest) does
not match the name of the calling package (gtest). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/Findgtest.cmake:152 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:78 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found GTest: /usr/lib64/libgtest.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ben/src/forks/easyloggingpp/build
$ (cd build/ && ctest --output-on-failure --force-new-ctest-process)
Test project /home/ben/src/forks/easyloggingpp/build
Start 1: easyloggingppUnitTests
1/1 Test #1: easyloggingppUnitTests ...........***Failed 11.30 sec
Logs for test are written in [/tmp/logs/el.gtest.log]
[==========] Running 79 tests from 26 test suites.
[----------] Global test environment set-up.
[----------] 2 tests from CommandLineArgsTest
[ RUN ] CommandLineArgsTest.SetArgs
[ OK ] CommandLineArgsTest.SetArgs (0 ms)
[ RUN ] CommandLineArgsTest.LoggingFlagsArg
/home/ben/src/forks/easyloggingpp/test/command-line-args-test.h:50: Failure
Value of: Loggers::hasFlag(LoggingFlag::NewLineForContainer)
Actual: true
Expected: false
/home/ben/src/forks/easyloggingpp/test/command-line-args-test.h:51: Failure
Value of: Loggers::hasFlag(LoggingFlag::LogDetailedCrashReason)
Actual: true
Expected: false
[ FAILED ] CommandLineArgsTest.LoggingFlagsArg (0 ms)
[----------] 2 tests from CommandLineArgsTest (0 ms total)
[----------] 6 tests from ConfigurationsTest
[ RUN ] ConfigurationsTest.Set
[ OK ] ConfigurationsTest.Set (0 ms)
[ RUN ] ConfigurationsTest.HasConfiguration
[ OK ] ConfigurationsTest.HasConfiguration (0 ms)
[ RUN ] ConfigurationsTest.SetForAllLevels
[ OK ] ConfigurationsTest.SetForAllLevels (0 ms)
[ RUN ] ConfigurationsTest.ParsingFromFile
[ OK ] ConfigurationsTest.ParsingFromFile (0 ms)
[ RUN ] ConfigurationsTest.ParsingFromText
[ OK ] ConfigurationsTest.ParsingFromText (0 ms)
[ RUN ] ConfigurationsTest.ParsingFromTextWithEscape
[ OK ] ConfigurationsTest.ParsingFromTextWithEscape (0 ms)
[----------] 6 tests from ConfigurationsTest (0 ms total)
[----------] 3 tests from CustomFormatSpecifierTest
[ RUN ] CustomFormatSpecifierTest.TestInstall
[ OK ] CustomFormatSpecifierTest.TestInstall (0 ms)
[ RUN ] CustomFormatSpecifierTest.TestResolution
[ OK ] CustomFormatSpecifierTest.TestResolution (0 ms)
[ RUN ] CustomFormatSpecifierTest.TestUnInstall
[ OK ] CustomFormatSpecifierTest.TestUnInstall (0 ms)
[----------] 3 tests from CustomFormatSpecifierTest (0 ms total)
[----------] 2 tests from LevelTest
[ RUN ] LevelTest.ConvertFromString
[ OK ] LevelTest.ConvertFromString (0 ms)
[ RUN ] LevelTest.ConvertToString
[ OK ] LevelTest.ConvertToString (0 ms)
[----------] 2 tests from LevelTest (0 ms total)
[----------] 2 tests from ConfigurationTypeTest
[ RUN ] ConfigurationTypeTest.ConvertFromString
[ OK ] ConfigurationTypeTest.ConvertFromString (0 ms)
[ RUN ] ConfigurationTypeTest.ConvertToString
[ OK ] ConfigurationTypeTest.ConvertToString (0 ms)
[----------] 2 tests from ConfigurationTypeTest (0 ms total)
[----------] 2 tests from DateUtilsTest
[ RUN ] DateUtilsTest.TimeFormatTest
[ OK ] DateUtilsTest.TimeFormatTest (0 ms)
[ RUN ] DateUtilsTest.PerformanceTrackerTest
[ OK ] DateUtilsTest.PerformanceTrackerTest (6606 ms)
[----------] 2 tests from DateUtilsTest (6606 ms total)
[----------] 6 tests from FileUtilsTest
[ RUN ] FileUtilsTest.NewFileStream
[ OK ] FileUtilsTest.NewFileStream (0 ms)
[ RUN ] FileUtilsTest.GetSizeOfFile
[ OK ] FileUtilsTest.GetSizeOfFile (0 ms)
[ RUN ] FileUtilsTest.PathExists
[ OK ] FileUtilsTest.PathExists (1 ms)
[ RUN ] FileUtilsTest.ExtractPathFromFilename
[ OK ] FileUtilsTest.ExtractPathFromFilename (0 ms)
[ RUN ] FileUtilsTest.CreatePath
[ OK ] FileUtilsTest.CreatePath (0 ms)
[ RUN ] FileUtilsTest.BuildStrippedFilename
[ OK ] FileUtilsTest.BuildStrippedFilename (0 ms)
[----------] 6 tests from FileUtilsTest (2 ms total)
[----------] 2 tests from FormatSpecifierTest
[ RUN ] FormatSpecifierTest.TestFBaseSpecifier
[ OK ] FormatSpecifierTest.TestFBaseSpecifier (0 ms)
[ RUN ] FormatSpecifierTest.TestLevShortSpecifier
[ OK ] FormatSpecifierTest.TestLevShortSpecifier (0 ms)
[----------] 2 tests from FormatSpecifierTest (1 ms total)
[----------] 1 test from GlobalConfigurationTest
[ RUN ] GlobalConfigurationTest.Parse
[ OK ] GlobalConfigurationTest.Parse (0 ms)
[----------] 1 test from GlobalConfigurationTest (0 ms total)
[----------] 1 test from HelpersTest
[ RUN ] HelpersTest.ConvertTemplateToStdString
/home/ben/src/forks/easyloggingpp/test/helpers-test.h:15: Failure
Expected equality of these values:
"[1, 2, 3, 4]"
strVecInt
Which is: "[1\n 2\n 3\n 4]"
With diff:
@@ -1,1 +1,4 @@
-[1, 2, 3, 4]
+[1
+ 2
+ 3
+ 4]
[ FAILED ] HelpersTest.ConvertTemplateToStdString (0 ms)
[----------] 1 test from HelpersTest (0 ms total)
[----------] 3 tests from RegisteredHitCountersTest
[ RUN ] RegisteredHitCountersTest.ValidationEveryN
[ OK ] RegisteredHitCountersTest.ValidationEveryN (0 ms)
[ RUN ] RegisteredHitCountersTest.ValidationAfterN
[ OK ] RegisteredHitCountersTest.ValidationAfterN (0 ms)
[ RUN ] RegisteredHitCountersTest.ValidationNTimes
[ OK ] RegisteredHitCountersTest.ValidationNTimes (0 ms)
[----------] 3 tests from RegisteredHitCountersTest (0 ms total)
[----------] 3 tests from LogFormatResolutionTest
[ RUN ] LogFormatResolutionTest.NormalFormat
[ OK ] LogFormatResolutionTest.NormalFormat (0 ms)
[ RUN ] LogFormatResolutionTest.DefaultFormat
[ OK ] LogFormatResolutionTest.DefaultFormat (0 ms)
[ RUN ] LogFormatResolutionTest.EscapedFormat
[ OK ] LogFormatResolutionTest.EscapedFormat (0 ms)
[----------] 3 tests from LogFormatResolutionTest (0 ms total)
[----------] 2 tests from LoggableTest
[ RUN ] LoggableTest.TestValidLog
[ OK ] LoggableTest.TestValidLog (0 ms)
[ RUN ] LoggableTest.MakeLoggable
[ OK ] LoggableTest.MakeLoggable (0 ms)
[----------] 2 tests from LoggableTest (0 ms total)
[----------] 3 tests from LoggerTest
[ RUN ] LoggerTest.RegisterTenThousandLoggers
Sat Aug 27, 13:06 Performance checkpoint [Registered [1000] loggers] for block [RegisterTenThousandLoggers] : [130 ms]
Sat Aug 27, 13:06 Performance checkpoint [Registered [2000] loggers] for block [RegisterTenThousandLoggers] : [251 ms ([121 ms] from checkpoint 'Registered [1000] loggers')]
Sat Aug 27, 13:06 Performance checkpoint [Registered [3000] loggers] for block [RegisterTenThousandLoggers] : [373 ms ([122 ms] from checkpoint 'Registered [2000] loggers')]
Sat Aug 27, 13:06 Performance checkpoint [Registered [4000] loggers] for block [RegisterTenThousandLoggers] : [494 ms ([121 ms] from checkpoint 'Registered [3000] loggers')]
Sat Aug 27, 13:06 Performance checkpoint [Registered [5000] loggers] for block [RegisterTenThousandLoggers] : [615 ms ([121 ms] from checkpoint 'Registered [4000] loggers')]
Sat Aug 27, 13:06 Performance checkpoint [Registered [6000] loggers] for block [RegisterTenThousandLoggers] : [736 ms ([121 ms] from checkpoint 'Registered [5000] loggers')]
Sat Aug 27, 13:06 Performance checkpoint [Registered [7000] loggers] for block [RegisterTenThousandLoggers] : [857 ms ([121 ms] from checkpoint 'Registered [6000] loggers')]
Sat Aug 27, 13:06 Performance checkpoint [Registered [8000] loggers] for block [RegisterTenThousandLoggers] : [978 ms ([121 ms] from checkpoint 'Registered [7000] loggers')]
Sat Aug 27, 13:06 Performance checkpoint [Registered [9000] loggers] for block [RegisterTenThousandLoggers] : [1099 ms ([121 ms] from checkpoint 'Registered [8000] loggers')]
Sat Aug 27, 13:06 Performance checkpoint [Registered [10000] loggers] for block [RegisterTenThousandLoggers] : [1220 ms ([121 ms] from checkpoint 'Registered [9000] loggers')]
Sat Aug 27, 13:06 Performance checkpoint [10,000 loggers registered] for block [RegisterTenThousandLoggers] : [1220 ms ([0 ms] from checkpoint 'Registered [10000] loggers')]
Sat Aug 27, 13:06 Performance checkpoint [Log written using logger8478] for block [RegisterTenThousandLoggers] : [1220 ms ([0 ms] from checkpoint '10,000 loggers registered')]
[ OK ] LoggerTest.RegisterTenThousandLoggers (1845 ms)
[ RUN ] LoggerTest.CheckTenThousandLoggers
[ OK ] LoggerTest.CheckTenThousandLoggers (29 ms)
[ RUN ] LoggerTest.ValidId
[ OK ] LoggerTest.ValidId (0 ms)
[----------] 3 tests from LoggerTest (1874 ms total)
[----------] 1 test from MacrosTest
[ RUN ] MacrosTest.VaLength
[ OK ] MacrosTest.VaLength (0 ms)
[----------] 1 test from MacrosTest (0 ms total)
[----------] 2 tests from OSUtilsTest
[ RUN ] OSUtilsTest.GetBashOutput
[ OK ] OSUtilsTest.GetBashOutput (6 ms)
[ RUN ] OSUtilsTest.GetEnvironmentVariable
[ OK ] OSUtilsTest.GetEnvironmentVariable (0 ms)
[----------] 2 tests from OSUtilsTest (6 ms total)
[----------] 1 test from PLogTest
[ RUN ] PLogTest.WriteLog
[ OK ] PLogTest.WriteLog (0 ms)
[----------] 1 test from PLogTest (0 ms total)
[----------] 2 tests from LogDispatchCallbackTest
[ RUN ] LogDispatchCallbackTest.Installation
[ OK ] LogDispatchCallbackTest.Installation (0 ms)
[ RUN ] LogDispatchCallbackTest.Uninstallation
[ OK ] LogDispatchCallbackTest.Uninstallation (0 ms)
[----------] 2 tests from LogDispatchCallbackTest (0 ms total)
[----------] 1 test from RegistryTest
[ RUN ] RegistryTest.RegisterAndUnregister
[ OK ] RegistryTest.RegisterAndUnregister (1 ms)
[----------] 1 test from RegistryTest (1 ms total)
[----------] 1 test from StrictFileSizeCheckTest
[ RUN ] StrictFileSizeCheckTest.HandlerCalled
[ OK ] StrictFileSizeCheckTest.HandlerCalled (2 ms)
[----------] 1 test from StrictFileSizeCheckTest (2 ms total)
[----------] 11 tests from StringUtilsTest
[ RUN ] StringUtilsTest.WildCardMatch
[ OK ] StringUtilsTest.WildCardMatch (0 ms)
[ RUN ] StringUtilsTest.Trim
[ OK ] StringUtilsTest.Trim (0 ms)
[ RUN ] StringUtilsTest.StartsAndEndsWith
[ OK ] StringUtilsTest.StartsAndEndsWith (0 ms)
[ RUN ] StringUtilsTest.ReplaceAll
[ OK ] StringUtilsTest.ReplaceAll (0 ms)
[ RUN ] StringUtilsTest.ToUpper
[ OK ] StringUtilsTest.ToUpper (0 ms)
[ RUN ] StringUtilsTest.CStringEq
[ OK ] StringUtilsTest.CStringEq (0 ms)
[ RUN ] StringUtilsTest.CStringCaseEq
[ OK ] StringUtilsTest.CStringCaseEq (0 ms)
[ RUN ] StringUtilsTest.Contains
[ OK ] StringUtilsTest.Contains (0 ms)
[ RUN ] StringUtilsTest.ReplaceFirstWithEscape
[ OK ] StringUtilsTest.ReplaceFirstWithEscape (0 ms)
[ RUN ] StringUtilsTest.AddToBuff
[ OK ] StringUtilsTest.AddToBuff (0 ms)
[ RUN ] StringUtilsTest.ConvertAndAddToBuff
[ OK ] StringUtilsTest.ConvertAndAddToBuff (0 ms)
[----------] 11 tests from StringUtilsTest (0 ms total)
[----------] 2 tests from SysLogTest
[ RUN ] SysLogTest.WriteLog
[ OK ] SysLogTest.WriteLog (0 ms)
[ RUN ] SysLogTest.DebugVersionLogs
[ OK ] SysLogTest.DebugVersionLogs (0 ms)
[----------] 2 tests from SysLogTest (0 ms total)
[----------] 4 tests from TypedConfigurationsTest
[ RUN ] TypedConfigurationsTest.Initialization
[ OK ] TypedConfigurationsTest.Initialization (0 ms)
[ RUN ] TypedConfigurationsTest.SharedFileStreams
[ OK ] TypedConfigurationsTest.SharedFileStreams (0 ms)
[ RUN ] TypedConfigurationsTest.NonExistentFileCreation
[ OK ] TypedConfigurationsTest.NonExistentFileCreation (0 ms)
[ RUN ] TypedConfigurationsTest.WriteToFiles
[ OK ] TypedConfigurationsTest.WriteToFiles (0 ms)
[----------] 4 tests from TypedConfigurationsTest (0 ms total)
[----------] 1 test from UtilitiesTest
[ RUN ] UtilitiesTest.SafeDelete
[ OK ] UtilitiesTest.SafeDelete (0 ms)
[----------] 1 test from UtilitiesTest (0 ms total)
[----------] 4 tests from VerboseAppArgumentsTest
[ RUN ] VerboseAppArgumentsTest.AppArgsLevel
[ OK ] VerboseAppArgumentsTest.AppArgsLevel (0 ms)
[ RUN ] VerboseAppArgumentsTest.AppArgsVModules
[ OK ] VerboseAppArgumentsTest.AppArgsVModules (0 ms)
[ RUN ] VerboseAppArgumentsTest.AppArgsVModulesExtension
[ OK ] VerboseAppArgumentsTest.AppArgsVModulesExtension (0 ms)
[ RUN ] VerboseAppArgumentsTest.VModulesClear
[ OK ] VerboseAppArgumentsTest.VModulesClear (0 ms)
[----------] 4 tests from VerboseAppArgumentsTest (0 ms total)
[----------] 11 tests from WriteAllTest
[ RUN ] WriteAllTest.Entry
[ OK ] WriteAllTest.Entry (732 ms)
[ RUN ] WriteAllTest.DEBUG
[ OK ] WriteAllTest.DEBUG (0 ms)
[ RUN ] WriteAllTest.INFO
[ OK ] WriteAllTest.INFO (0 ms)
[ RUN ] WriteAllTest.ERROR
[ OK ] WriteAllTest.ERROR (0 ms)
[ RUN ] WriteAllTest.WARNING
[ OK ] WriteAllTest.WARNING (0 ms)
[ RUN ] WriteAllTest.FATAL
[ OK ] WriteAllTest.FATAL (0 ms)
[ RUN ] WriteAllTest.TRACE
[ OK ] WriteAllTest.TRACE (0 ms)
[ RUN ] WriteAllTest.VERBOSE
[ OK ] WriteAllTest.VERBOSE (1920 ms)
[ RUN ] WriteAllTest.EVERY_N
[ OK ] WriteAllTest.EVERY_N (7 ms)
[ RUN ] WriteAllTest.AFTER_N
[ OK ] WriteAllTest.AFTER_N (0 ms)
[ RUN ] WriteAllTest.N_TIMES
[ OK ] WriteAllTest.N_TIMES (0 ms)
[----------] 11 tests from WriteAllTest (2662 ms total)
[----------] Global test environment tear-down
[==========] 79 tests from 26 test suites ran. (11160 ms total)
[ PASSED ] 77 tests.
[ FAILED ] 2 tests, listed below:
[ FAILED ] CommandLineArgsTest.LoggingFlagsArg
[ FAILED ] HelpersTest.ConvertTemplateToStdString
2 FAILED TESTS
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 11.30 sec
The following tests FAILED:
1 - easyloggingppUnitTests (Failed)
Errors while running CTest
Using the latest
master
, 8489989bb26c6371df103f6cbced3fbee1bc3c2f, on:x86_64
architecture