mirror of
https://github.com/FairRootGroup/FairLogger.git
synced 2025-10-15 17:41:44 +00:00
Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
6545d0efa2 | ||
|
159a21c24b | ||
|
2494a9e85a | ||
|
d0b109015d | ||
|
ba7da2f79a | ||
|
1c7e7f566a | ||
|
b2dfdd1768 |
@@ -54,7 +54,7 @@ add_library(FairLogger
|
||||
logger/Logger.cxx
|
||||
logger/Logger.h
|
||||
)
|
||||
target_compile_features(FairLogger PUBLIC cxx_std_11)
|
||||
target_compile_features(FairLogger PUBLIC cxx_std_14)
|
||||
|
||||
if(USE_BOOST_PRETTY_FUNCTION)
|
||||
target_link_libraries(FairLogger PUBLIC Boost::boost)
|
||||
|
3
Jenkinsfile
vendored
3
Jenkinsfile
vendored
@@ -59,8 +59,11 @@ pipeline{
|
||||
steps{
|
||||
script {
|
||||
def builds = jobMatrix('alfa-ci', 'build', [
|
||||
[os: 'fedora', ver: '32', arch: 'x86_64', compiler: 'gcc-10'],
|
||||
[os: 'fedora', ver: '33', arch: 'x86_64', compiler: 'gcc-10'],
|
||||
[os: 'fedora', ver: '34', arch: 'x86_64', compiler: 'gcc-11'],
|
||||
[os: 'macos', ver: '11', arch: 'x86_64', compiler: 'apple-clang-12'],
|
||||
[os: 'macos', ver: '11', arch: 'arm64', compiler: 'apple-clang-13'],
|
||||
])
|
||||
|
||||
parallel(builds)
|
||||
|
@@ -96,6 +96,8 @@ where severity level is one of the following:
|
||||
"info",
|
||||
"state",
|
||||
"warn",
|
||||
"important",
|
||||
"alarm",
|
||||
"error",
|
||||
"fatal",
|
||||
```
|
||||
|
@@ -94,7 +94,7 @@ macro(set_fairlogger_defaults)
|
||||
endif()
|
||||
|
||||
# Handle C++ standard level
|
||||
set(PROJECT_MIN_CXX_STANDARD 11)
|
||||
set(PROJECT_MIN_CXX_STANDARD 14)
|
||||
if(CMAKE_CXX_STANDARD LESS PROJECT_MIN_CXX_STANDARD)
|
||||
message(FATAL_ERROR "A minimum CMAKE_CXX_STANDARD of ${PROJECT_MIN_CXX_STANDARD} is required.")
|
||||
endif()
|
||||
|
@@ -63,33 +63,35 @@ const unordered_map<string, Verbosity> Logger::fVerbosityMap =
|
||||
|
||||
const unordered_map<string, Severity> Logger::fSeverityMap =
|
||||
{
|
||||
{ "nolog", Severity::nolog },
|
||||
{ "NOLOG", Severity::nolog },
|
||||
{ "error", Severity::error },
|
||||
{ "ERROR", Severity::error },
|
||||
{ "warn", Severity::warn },
|
||||
{ "WARN", Severity::warn },
|
||||
{ "warning", Severity::warn },
|
||||
{ "WARNING", Severity::warn },
|
||||
{ "state", Severity::state },
|
||||
{ "STATE", Severity::state },
|
||||
{ "info", Severity::info },
|
||||
{ "INFO", Severity::info },
|
||||
{ "debug", Severity::debug },
|
||||
{ "DEBUG", Severity::debug },
|
||||
{ "debug1", Severity::debug1 },
|
||||
{ "DEBUG1", Severity::debug1 },
|
||||
{ "debug2", Severity::debug2 },
|
||||
{ "DEBUG2", Severity::debug2 },
|
||||
{ "debug3", Severity::debug3 },
|
||||
{ "DEBUG3", Severity::debug3 },
|
||||
{ "debug4", Severity::debug4 },
|
||||
{ "DEBUG4", Severity::debug4 },
|
||||
{ "trace", Severity::trace },
|
||||
{ "TRACE", Severity::trace }
|
||||
{ "nolog", Severity::nolog },
|
||||
{ "NOLOG", Severity::nolog },
|
||||
{ "error", Severity::error },
|
||||
{ "ERROR", Severity::error },
|
||||
{ "alarm", Severity::alarm },
|
||||
{ "important", Severity::important },
|
||||
{ "warn", Severity::warn },
|
||||
{ "WARN", Severity::warn },
|
||||
{ "warning", Severity::warn },
|
||||
{ "WARNING", Severity::warn },
|
||||
{ "state", Severity::state },
|
||||
{ "STATE", Severity::state },
|
||||
{ "info", Severity::info },
|
||||
{ "INFO", Severity::info },
|
||||
{ "debug", Severity::debug },
|
||||
{ "DEBUG", Severity::debug },
|
||||
{ "debug1", Severity::debug1 },
|
||||
{ "DEBUG1", Severity::debug1 },
|
||||
{ "debug2", Severity::debug2 },
|
||||
{ "DEBUG2", Severity::debug2 },
|
||||
{ "debug3", Severity::debug3 },
|
||||
{ "DEBUG3", Severity::debug3 },
|
||||
{ "debug4", Severity::debug4 },
|
||||
{ "DEBUG4", Severity::debug4 },
|
||||
{ "trace", Severity::trace },
|
||||
{ "TRACE", Severity::trace }
|
||||
};
|
||||
|
||||
const array<string, 12> Logger::fSeverityNames =
|
||||
const array<string, 14> Logger::fSeverityNames =
|
||||
{
|
||||
{
|
||||
"NOLOG",
|
||||
@@ -102,6 +104,8 @@ const array<string, 12> Logger::fSeverityNames =
|
||||
"INFO",
|
||||
"STATE",
|
||||
"WARN",
|
||||
"IMPORTANT",
|
||||
"ALARM",
|
||||
"ERROR",
|
||||
"FATAL"
|
||||
}
|
||||
@@ -278,19 +282,21 @@ void Logger::LogEmptyLine()
|
||||
string Logger::GetColoredSeverityString(Severity severity)
|
||||
{
|
||||
switch (severity) {
|
||||
case Severity::nolog: return "\033[01;39mNOLOG\033[0m"; break;
|
||||
case Severity::fatal: return "\033[01;31mFATAL\033[0m"; break;
|
||||
case Severity::error: return "\033[01;31mERROR\033[0m"; break;
|
||||
case Severity::warn: return "\033[01;33mWARN\033[0m"; break;
|
||||
case Severity::state: return "\033[01;35mSTATE\033[0m"; break;
|
||||
case Severity::info: return "\033[01;32mINFO\033[0m"; break;
|
||||
case Severity::debug: return "\033[01;34mDEBUG\033[0m"; break;
|
||||
case Severity::debug1: return "\033[01;34mDEBUG1\033[0m"; break;
|
||||
case Severity::debug2: return "\033[01;34mDEBUG2\033[0m"; break;
|
||||
case Severity::debug3: return "\033[01;34mDEBUG3\033[0m"; break;
|
||||
case Severity::debug4: return "\033[01;34mDEBUG4\033[0m"; break;
|
||||
case Severity::trace: return "\033[01;36mTRACE\033[0m"; break;
|
||||
default: return "UNKNOWN"; break;
|
||||
case Severity::nolog: return "\033[01;39mNOLOG\033[0m"; break;
|
||||
case Severity::fatal: return "\033[01;31mFATAL\033[0m"; break;
|
||||
case Severity::error: return "\033[01;31mERROR\033[0m"; break;
|
||||
case Severity::alarm: return "\033[01;33mALARM\033[0m"; break;
|
||||
case Severity::important: return "\033[01;32mIMPORTANT\033[0m"; break;
|
||||
case Severity::warn: return "\033[01;33mWARN\033[0m"; break;
|
||||
case Severity::state: return "\033[01;35mSTATE\033[0m"; break;
|
||||
case Severity::info: return "\033[01;32mINFO\033[0m"; break;
|
||||
case Severity::debug: return "\033[01;34mDEBUG\033[0m"; break;
|
||||
case Severity::debug1: return "\033[01;34mDEBUG1\033[0m"; break;
|
||||
case Severity::debug2: return "\033[01;34mDEBUG2\033[0m"; break;
|
||||
case Severity::debug3: return "\033[01;34mDEBUG3\033[0m"; break;
|
||||
case Severity::debug4: return "\033[01;34mDEBUG4\033[0m"; break;
|
||||
case Severity::trace: return "\033[01;36mTRACE\033[0m"; break;
|
||||
default: return "UNKNOWN"; break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -26,6 +26,7 @@
|
||||
|
||||
#include <fmt/core.h>
|
||||
#include <fmt/printf.h>
|
||||
#include <fmt/ostream.h>
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
@@ -61,9 +62,13 @@ enum class Severity : int
|
||||
info = 7,
|
||||
state = 8,
|
||||
warn = 9,
|
||||
error = 10,
|
||||
fatal = 11,
|
||||
// backwards-compatibility:
|
||||
important = 10,
|
||||
alarm = 11,
|
||||
error = 12,
|
||||
fatal = 13,
|
||||
// aliases
|
||||
warning = warn,
|
||||
// backwards-compatibility
|
||||
NOLOG = nolog,
|
||||
TRACE = trace,
|
||||
DEBUG4 = debug4,
|
||||
@@ -74,7 +79,6 @@ enum class Severity : int
|
||||
INFO = info,
|
||||
STATE = state,
|
||||
WARNING = warn,
|
||||
warning = warn,
|
||||
WARN = warn,
|
||||
ERROR = error,
|
||||
FATAL = fatal
|
||||
@@ -319,7 +323,7 @@ class Logger
|
||||
|
||||
static const std::unordered_map<std::string, Verbosity> fVerbosityMap;
|
||||
static const std::unordered_map<std::string, Severity> fSeverityMap;
|
||||
static const std::array<std::string, 12> fSeverityNames;
|
||||
static const std::array<std::string, 14> fSeverityNames;
|
||||
static const std::array<std::string, 9> fVerbosityNames;
|
||||
|
||||
// protection for use after static destruction took place
|
||||
|
@@ -7,24 +7,12 @@
|
||||
################################################################################
|
||||
|
||||
function(container)
|
||||
cmake_parse_arguments(ARGS "" "OS;VERSION;DOCKER_TAG;PACKAGE_SETUP_SCRIPT" "" ${ARGN})
|
||||
|
||||
if(ARGS_DOCKER_TAG)
|
||||
set(DOCKER_TAG ${ARGS_DOCKER_TAG})
|
||||
else()
|
||||
set(DOCKER_TAG "${ARGS_OS}:${ARGS_VERSION}")
|
||||
endif()
|
||||
|
||||
if(ARGS_PACKAGE_SETUP_SCRIPT)
|
||||
set(PACKAGE_SETUP_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/${ARGS_PACKAGE_SETUP_SCRIPT}")
|
||||
else()
|
||||
set(PACKAGE_SETUP_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/setup-${ARGS_OS}.sh")
|
||||
endif()
|
||||
cmake_parse_arguments(ARGS "" "OS;VERSION" "" ${ARGN})
|
||||
|
||||
set(container "${ARGS_OS}.${ARGS_VERSION}")
|
||||
set(def "${container}.def")
|
||||
set(log "${container}.log")
|
||||
set(target "${container}.fairlogger.sif")
|
||||
set(target "${container}.sif")
|
||||
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/linux.def.in" ${def} @ONLY)
|
||||
|
||||
@@ -41,6 +29,8 @@ function(container)
|
||||
set(containers ${containers} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
container(OS fedora VERSION 32)
|
||||
container(OS fedora VERSION 33)
|
||||
container(OS fedora VERSION 34)
|
||||
|
||||
add_custom_target(all-containers DEPENDS ${containers})
|
||||
|
@@ -1,8 +1,8 @@
|
||||
Bootstrap: docker
|
||||
From: @DOCKER_TAG@
|
||||
From: @ARGS_OS@:@ARGS_VERSION@
|
||||
|
||||
%files
|
||||
@PACKAGE_SETUP_SCRIPT@ /setup.sh
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/setup-@ARGS_OS@.sh /setup.sh
|
||||
|
||||
%post
|
||||
bash /setup.sh
|
||||
bash /setup.sh @ARGS_VERSION@
|
||||
|
@@ -1,8 +1,7 @@
|
||||
#! /bin/bash
|
||||
|
||||
dnf -y update
|
||||
dnf -y groupinstall "C Development Tools and Libraries"
|
||||
dnf -y install binutils boost-devel cmake ca-certificates coreutils diffutils \
|
||||
findutils fmt-devel gcc-c++ git hostname ninja-build patch procps python \
|
||||
redhat-lsb-core sed tar wget which
|
||||
dnf -y install https://alfa-ci.gsi.de/packages/rpm/fedora-$1-x86_64/fairsoft-release-dev.rpm
|
||||
dnf -y install boost-devel ninja-build 'dnf-command(builddep)' libasan liblsan libtsan libubsan clang-tools-extra
|
||||
dnf -y builddep fairlogger
|
||||
dnf -y clean all
|
||||
|
@@ -3,18 +3,12 @@
|
||||
label="$1"
|
||||
jobsh="$2"
|
||||
|
||||
if [ -z "$ALFACI_SLURM_CPUS" ]
|
||||
then
|
||||
ALFACI_SLURM_CPUS=32
|
||||
fi
|
||||
ALFACI_SLURM_CPUS=4
|
||||
if [ -z "$ALFACI_SLURM_EXTRA_OPTS" ]
|
||||
then
|
||||
ALFACI_SLURM_EXTRA_OPTS="--hint=compute_bound"
|
||||
fi
|
||||
if [ -z "$ALFACI_SLURM_TIMEOUT" ]
|
||||
then
|
||||
ALFACI_SLURM_TIMEOUT=30
|
||||
fi
|
||||
ALFACI_SLURM_TIMEOUT=10
|
||||
if [ -z "$ALFACI_SLURM_QUEUE" ]
|
||||
then
|
||||
ALFACI_SLURM_QUEUE=main
|
||||
|
@@ -38,7 +38,7 @@ int main()
|
||||
Logger::SetConsoleSeverity(Severity::fatal);
|
||||
cout << "initial severity >" << Logger::GetConsoleSeverity() << "<" << endl << endl;
|
||||
|
||||
array<Severity, 12> severitiesUp{{ Severity::nolog, Severity::trace, Severity::debug4, Severity::debug3, Severity::debug2, Severity::debug1, Severity::debug, Severity::info, Severity::state, Severity::warn, Severity::error, Severity::fatal }};
|
||||
array<Severity, 14> severitiesUp{{ Severity::nolog, Severity::trace, Severity::debug4, Severity::debug3, Severity::debug2, Severity::debug1, Severity::debug, Severity::info, Severity::state, Severity::warn, Severity::important, Severity::alarm, Severity::error, Severity::fatal }};
|
||||
#ifdef FAIR_MIN_SEVERITY
|
||||
for (unsigned int i = static_cast<int>(Severity::FAIR_MIN_SEVERITY); i < severitiesUp.size(); ++i) {
|
||||
#else
|
||||
@@ -57,7 +57,7 @@ int main()
|
||||
Logger::SetConsoleSeverity(Severity::fatal);
|
||||
cout << "initial severity >" << Logger::GetConsoleSeverity() << "<" << endl << endl;
|
||||
|
||||
array<Severity, 12> severitiesDown{{ Severity::error, Severity::warn, Severity::state, Severity::info, Severity::debug, Severity::debug1, Severity::debug2, Severity::debug3, Severity::debug4, Severity::trace, Severity::nolog, Severity::fatal }};
|
||||
array<Severity, 14> severitiesDown{{ Severity::error, Severity::alarm, Severity::important, Severity::warn, Severity::state, Severity::info, Severity::debug, Severity::debug1, Severity::debug2, Severity::debug3, Severity::debug4, Severity::trace, Severity::nolog, Severity::fatal }};
|
||||
#ifdef FAIR_MIN_SEVERITY
|
||||
for (unsigned int i = 0; i < severitiesDown.size() - static_cast<int>(Severity::FAIR_MIN_SEVERITY) - 1; ++i) {
|
||||
#else
|
||||
|
@@ -17,18 +17,20 @@ void printEverySeverity()
|
||||
{
|
||||
static int i = 1;
|
||||
|
||||
LOG(nolog) << "nolog message, counter: " << i++;
|
||||
LOG(trace) << "trace message, counter: " << i++;
|
||||
LOG(debug4) << "debug4 message, counter: " << i++;
|
||||
LOG(debug3) << "debug3 message, counter: " << i++;
|
||||
LOG(debug2) << "debug2 message, counter: " << i++;
|
||||
LOG(debug1) << "debug1 message, counter: " << i++;
|
||||
LOG(debug) << "debug message, counter: " << i++;
|
||||
LOG(info) << "info message, counter: " << i++;
|
||||
LOG(state) << "state message, counter: " << i++;
|
||||
LOG(warn) << "warning message, counter: " << i++;
|
||||
LOG(error) << "error message, counter: " << i++;
|
||||
LOG(fatal) << "fatal message, counter: " << i++;
|
||||
LOG(nolog) << "nolog message, counter: " << i++;
|
||||
LOG(trace) << "trace message, counter: " << i++;
|
||||
LOG(debug4) << "debug4 message, counter: " << i++;
|
||||
LOG(debug3) << "debug3 message, counter: " << i++;
|
||||
LOG(debug2) << "debug2 message, counter: " << i++;
|
||||
LOG(debug1) << "debug1 message, counter: " << i++;
|
||||
LOG(debug) << "debug message, counter: " << i++;
|
||||
LOG(info) << "info message, counter: " << i++;
|
||||
LOG(state) << "state message, counter: " << i++;
|
||||
LOG(warn) << "warning message, counter: " << i++;
|
||||
LOG(important) << "important message, counter: " << i++;
|
||||
LOG(alarm) << "alarm message, counter: " << i++;
|
||||
LOG(error) << "error message, counter: " << i++;
|
||||
LOG(fatal) << "fatal message, counter: " << i++;
|
||||
}
|
||||
|
||||
void printAllVerbositiesWithSeverity(Severity sev)
|
||||
|
@@ -13,17 +13,19 @@ using namespace fair;
|
||||
|
||||
void printEverySeverity()
|
||||
{
|
||||
LOG(nolog) << "nolog message, counter: ";
|
||||
LOG(trace) << "trace message, counter: ";
|
||||
LOG(debug4) << "debug4 message, counter: ";
|
||||
LOG(debug3) << "debug3 message, counter: ";
|
||||
LOG(debug2) << "debug2 message, counter: ";
|
||||
LOG(debug1) << "debug1 message, counter: ";
|
||||
LOG(debug) << "debug message, counter: ";
|
||||
LOG(info) << "info message, counter: " ;
|
||||
LOG(state) << "state message, counter: ";
|
||||
LOG(warn) << "warning message, counter: ";
|
||||
LOG(error) << "error message, counter: ";
|
||||
LOG(nolog) << "nolog message, counter: ";
|
||||
LOG(trace) << "trace message, counter: ";
|
||||
LOG(debug4) << "debug4 message, counter: ";
|
||||
LOG(debug3) << "debug3 message, counter: ";
|
||||
LOG(debug2) << "debug2 message, counter: ";
|
||||
LOG(debug1) << "debug1 message, counter: ";
|
||||
LOG(debug) << "debug message, counter: ";
|
||||
LOG(info) << "info message, counter: ";
|
||||
LOG(state) << "state message, counter: ";
|
||||
LOG(warn) << "warning message, counter: ";
|
||||
LOG(important) << "important message, counter: ";
|
||||
LOG(alarm) << "alarm message, counter: ";
|
||||
LOG(error) << "error message, counter: ";
|
||||
}
|
||||
|
||||
void silentlyPrintAllVerbositiesWithSeverity(Severity sev)
|
||||
|
@@ -20,18 +20,20 @@ using namespace fair::logger::test;
|
||||
|
||||
uint32_t printEverySeverity(uint32_t i)
|
||||
{
|
||||
LOG(nolog) << "nolog message, counter: " << i++;
|
||||
LOG(trace) << "trace message, counter: " << i++;
|
||||
LOG(debug4) << "debug4 message, counter: " << i++;
|
||||
LOG(debug3) << "debug3 message, counter: " << i++;
|
||||
LOG(debug2) << "debug2 message, counter: " << i++;
|
||||
LOG(debug1) << "debug1 message, counter: " << i++;
|
||||
LOG(debug) << "debug message, counter: " << i++;
|
||||
LOG(info) << "info message, counter: " << i++;
|
||||
LOG(state) << "state message, counter: " << i++;
|
||||
LOG(warn) << "warning message, counter: " << i++;
|
||||
LOG(error) << "error message, counter: " << i++;
|
||||
LOG(fatal) << "fatal message, counter: " << i++;
|
||||
LOG(nolog) << "nolog message, counter: " << i++;
|
||||
LOG(trace) << "trace message, counter: " << i++;
|
||||
LOG(debug4) << "debug4 message, counter: " << i++;
|
||||
LOG(debug3) << "debug3 message, counter: " << i++;
|
||||
LOG(debug2) << "debug2 message, counter: " << i++;
|
||||
LOG(debug1) << "debug1 message, counter: " << i++;
|
||||
LOG(debug) << "debug message, counter: " << i++;
|
||||
LOG(info) << "info message, counter: " << i++;
|
||||
LOG(state) << "state message, counter: " << i++;
|
||||
LOG(warn) << "warning message, counter: " << i++;
|
||||
LOG(important) << "important message, counter: " << i++;
|
||||
LOG(alarm) << "alarm message, counter: " << i++;
|
||||
LOG(error) << "error message, counter: " << i++;
|
||||
LOG(fatal) << "fatal message, counter: " << i++;
|
||||
|
||||
return i;
|
||||
}
|
||||
@@ -45,7 +47,7 @@ void CheckSeverity(Severity severity)
|
||||
|
||||
for (uint32_t i = 0; i < Logger::fSeverityNames.size(); ++i) {
|
||||
if (sev == Severity::nolog) {
|
||||
if (i == 11) {
|
||||
if (i == static_cast<int>(fair::Severity::fatal)) {
|
||||
if (!Logger::Logging(static_cast<Severity>(i))) {
|
||||
throw runtime_error(ToStr("expecting to be logging ", Logger::fSeverityNames.at(i), " during ", sev, ", but it is not."));
|
||||
}
|
||||
|
Reference in New Issue
Block a user