Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
initialize.cpp
Go to the documentation of this file.
1#include "initialize.h"
2
3#include <cmath>
4#include <fstream>
5#include <iostream>
6
7namespace storm {
8namespace utility {
9
11 l3pp::Logger::initialize();
12 // By default output to std::cout
13 l3pp::SinkPtr sink = l3pp::StreamSink::create(std::cout);
14 l3pp::Logger::getRootLogger()->addSink(sink);
15 // Default to warn, set by user to something else
16 l3pp::Logger::getRootLogger()->setLevel(l3pp::LogLevel::WARN);
17
18 l3pp::FormatterPtr fptr =
19 l3pp::makeTemplateFormatter(l3pp::FieldStr<l3pp::Field::LogLevel, 5, l3pp::Justification::LEFT>(), " (", l3pp::FieldStr<l3pp::Field::FileName>(), ':',
20 l3pp::FieldStr<l3pp::Field::Line>(), "): ", l3pp::FieldStr<l3pp::Field::Message>(), '\n');
21 sink->setFormatter(fptr);
22}
23
28void setOutputDigits(int digits) {
29 std::cout.precision(digits);
30}
31
32void setUp() {
35}
36
37void cleanUp() {
38 // Intentionally left empty.
39}
40
42 if (precision >= 1 || precision < 0) {
44 } else {
45 int digits = ceil(-log10(precision)) + 4;
46 // Ensure at least 10 digits for now
47 if (digits < 10) {
49 } else {
50 setOutputDigits(digits);
51 }
52 }
53}
54
55l3pp::LogLevel getLogLevel() {
56 return l3pp::Logger::getRootLogger()->getLevel();
57}
58
59void setLogLevel(l3pp::LogLevel level) {
60 l3pp::Logger::getRootLogger()->setLevel(level);
61 if (level <= l3pp::LogLevel::DEBUG) {
62#ifdef STORM_LOG_DISABLE_DEBUG
63 std::cout << "***** warning ***** requested loglevel is not compiled\n";
64#endif
65 }
66}
67
68void setStatisticsLogLevel(l3pp::LogLevel level) {
69 l3pp::Logger::getLogger(storm::utility::STATISTICS_LOG_CHANNEL)->setLevel(level);
70}
71
72void setProgressLogLevel(l3pp::LogLevel level) {
73 l3pp::Logger::getLogger(storm::utility::PROGRESS_LOG_CHANNEL)->setLevel(level);
74}
75
76void initializeFileLogging(std::string const& logfileName) {
77 l3pp::SinkPtr sink = l3pp::StreamSink::create(logfileName);
78 l3pp::Logger::getRootLogger()->addSink(sink);
79}
80
81} // namespace utility
82} // namespace storm
constexpr const char * STATISTICS_LOG_CHANNEL
Definition logging.h:34
void setProgressLogLevel(l3pp::LogLevel level)
Set the log level for the progress channel, independently of the global log level.
void initializeLogger()
Initializes the logging framework and sets up logging to console.
void initializeFileLogging(std::string const &logfileName)
Sets up the logging to file.
ValueType ceil(ValueType const &number)
void cleanUp()
Performs some necessary clean-up.
void setLogLevel(l3pp::LogLevel level)
Set the global log level.
constexpr const char * PROGRESS_LOG_CHANNEL
Definition logging.h:35
void setUp()
Performs some necessary initializations.
void setOutputDigits(int digits)
Set number of digits for printing output.
ValueType log10(ValueType const &number)
void setOutputDigitsFromGeneralPrecision(double precision)
Set number of digits for printing output from given precision requirement.
void setStatisticsLogLevel(l3pp::LogLevel level)
Set the log level for the statistics channel, independently of the global log level.
l3pp::LogLevel getLogLevel()
Gets the global log level.