diff --git a/.project b/.project
index b4531d1..a1fdcfd 100644
--- a/.project
+++ b/.project
@@ -23,6 +23,5 @@
org.eclipse.cdt.core.ccnature
org.eclipse.cdt.managedbuilder.core.managedBuildNature
org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
- org.eclipse.linuxtools.tmf.project.nature
diff --git a/conanfile.txt b/conanfile.txt
index 6cffc7e..157cc85 100644
--- a/conanfile.txt
+++ b/conanfile.txt
@@ -1,8 +1,6 @@
[requires]
gsl_microsoft/20180102@bincrafters/stable
- spdlog/0.16.3@bincrafters/stable
- #fmt/5.2.1@bincrafters/stable
- fmt/4.1.0@bincrafters/stable
+ fmt/5.2.1@bincrafters/stable
Seasocks/1.3.2@minres/stable
SystemC/2.3.3@minres/stable
SystemCVerification/2.0.1@minres/stable
diff --git a/dbt-core b/dbt-core
index c1d65b8..db518d2 160000
--- a/dbt-core
+++ b/dbt-core
@@ -1 +1 @@
-Subproject commit c1d65b863b34d2ff9d459d3caa4e6972213f2026
+Subproject commit db518d2bcf9a883f1875ad9feb154d795e320db9
diff --git a/platform/src/CLIParser.cpp b/platform/src/CLIParser.cpp
index c388744..e36a688 100644
--- a/platform/src/CLIParser.cpp
+++ b/platform/src/CLIParser.cpp
@@ -42,11 +42,6 @@ using namespace sc_core;
CLIParser::CLIParser(int argc, char *argv[])
: desc("Options")
, valid(false) {
- scc::init_logging();
- LOGGER(DEFAULT)::reporting_level() = logging::WARNING;
- LOGGER(connection)::reporting_level() = logging::WARNING;
- LOGGER(SystemC)::reporting_level() = logging::WARNING;
-
build();
try {
// Variant 1: no non-options
@@ -80,31 +75,28 @@ CLIParser::CLIParser(int argc, char *argv[])
std::cerr << "ERROR: " << e.what() << std::endl << std::endl;
std::cerr << desc << std::endl;
}
- if (vm_.count("verbose")) { // NONE, FATAL, ERROR, WARNING, INFO, DEBUG, TRACE
- const std::array verbosity = {SC_NONE, // Logging::NONE
- SC_LOW, // Logging::FATAL
- SC_LOW, // Logging::ERROR
- SC_LOW, // Logging::WARNING
- SC_MEDIUM, // Logging::INFO
- SC_HIGH, // logging::DEBUG
- SC_FULL, // logging::TRACE
- SC_DEBUG}; // logging::TRACE+1
- auto log_level = vm_["verbose"].as();
- auto l = logging::as_log_level(log_level > 6 ? 6 : log_level);
- LOGGER(DEFAULT)::reporting_level() = l;
- LOGGER(DEFAULT)::print_time() = false;
- LOGGER(connection)::reporting_level() = l;
- LOGGER(connection)::print_time() = false;
- LOGGER(SystemC)::reporting_level() = l;
- LOGGER(SystemC)::print_time() = false;
- sc_report_handler::set_verbosity_level(verbosity[log_level]);
- }
+ auto log_level = vm_["verbose"].as();
+ auto verbosity = !vm_["Verbose"].defaulted()?vm_["Verbose"].as():vm_["verbose"].as();
+ auto colored_output = vm_["Verbose"].defaulted();
+ auto dbg_level = std::min(logging::DBGTRACE, verbosity);
+
+ auto l = logging::as_log_level(log_level > 6 ? 6 : log_level);
+ auto log_regex = vm_["log-filter"].as();
+
if (vm_.count("log-file")) {
- // configure the connection logger
- auto f = fopen(vm_["log-file"].as().c_str(), "w");
- LOG_OUTPUT(DEFAULT)::stream() = f;
- LOG_OUTPUT(connection)::stream() = f;
- LOG_OUTPUT(SystemC)::stream() = f;
+ auto log_file_name = vm_["log-file"].as();
+ scc::init_logging(scc::LogConfig()
+ .logFileName(log_file_name)
+ .logLevel(static_cast(dbg_level))
+ .logFilterRegex(log_regex)
+ .coloredOutput(colored_output)
+ );
+ } else {
+ scc::init_logging(scc::LogConfig()
+ .logLevel(static_cast(dbg_level))
+ .logFilterRegex(log_regex)
+ .coloredOutput(colored_output)
+ );
}
}
@@ -113,7 +105,9 @@ void CLIParser::build() {
desc.add_options()
("help,h", "Print help message")
("verbose,v", po::value()->implicit_value(3), "Sets logging verbosity")
+ ("Verbose,V", po::value()->default_value(logging::INFO), "Debug output level as with --verbose but print non-colored")
("log-file", po::value(), "Sets default log file.")
+ ("log-filter", po::value()->default_value(""), "log filter regular expression name")
("disass,d", po::value()->implicit_value(""), "Enables disassembly")
("elf,l", po::value(), "ELF file to load")
("gdb-port,g", po::value()->default_value(0), "enable gdb server and specify port to use")
diff --git a/riscv b/riscv
index d037141..cb447a1 160000
--- a/riscv
+++ b/riscv
@@ -1 +1 @@
-Subproject commit d037141d98951287215c4eee76a88e625433f331
+Subproject commit cb447a1260843ea423317402c01361e1e19b591e
diff --git a/scc b/scc
index 140a5a7..45cd6c7 160000
--- a/scc
+++ b/scc
@@ -1 +1 @@
-Subproject commit 140a5a7067d9051cd15140f681428203843ced15
+Subproject commit 45cd6c74114f7c85935cab63eeb12678e1f1eac0