File tree Expand file tree Collapse file tree
src/cpp/web-ifc/modelmanager Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1313
1414webifc::manager::ModelManager::ModelManager (bool _mt_enabled)
1515{
16+ _logger = spdlog::default_logger ();
1617 mt_enabled = _mt_enabled;
1718}
1819
@@ -34,10 +35,16 @@ void webifc::manager::ModelManager::CloseAllModels()
3435 _geometryProcessors.clear ();
3536}
3637
38+ void webifc::manager::ModelManager::SetLogger (std::shared_ptr<spdlog::logger> logger) {
39+ _logger = logger;
40+ }
41+
3742void webifc::manager::ModelManager::SetLogLevel (uint8_t levelArg)
3843{
39- spdlog::set_level ((spdlog::level::level_enum)levelArg);
40- spdlog::set_pattern (" [WEB-IFC][%l]%v" );
44+ if (_logger) {
45+ _logger->set_level ((spdlog::level::level_enum)levelArg);
46+ _logger->set_pattern (" [WEB-IFC][%l]%v" );
47+ }
4148}
4249
4350webifc::geometry::IfcGeometryProcessor *webifc::manager::ModelManager::GetGeometryProcessor (uint32_t modelID)
@@ -107,4 +114,4 @@ uint32_t webifc::manager::ModelManager::CreateModel(LoaderSettings settings)
107114 _loaders.push_back (loader);
108115 _settings.push_back (settings);
109116 return _loaders.size () - 1 ;
110- }
117+ }
Original file line number Diff line number Diff line change 77#include " ../schema/IfcSchemaManager.h"
88#include " ../geometry/IfcGeometryProcessor.h"
99#include " ../parsing/IfcLoader.h"
10+ #include < spdlog/spdlog.h>
11+ #include < memory>
1012#include < vector>
1113#include < map>
1214#include < optional>
@@ -42,6 +44,7 @@ namespace webifc::manager
4244 bool IsModelOpen (uint32_t modelID) const ;
4345 void CloseModel (uint32_t modelID);
4446 uint32_t CreateModel (LoaderSettings settings);
47+ void SetLogger (std::shared_ptr<spdlog::logger> logger);
4548 void SetLogLevel (uint8_t levelArg);
4649 void CloseAllModels ();
4750
@@ -50,7 +53,8 @@ namespace webifc::manager
5053 std::vector<webifc::parsing::IfcLoader *> _loaders;
5154 std::vector<LoaderSettings> _settings;
5255 std::map<uint32_t , webifc::geometry::IfcGeometryProcessor *> _geometryProcessors;
56+ std::shared_ptr<spdlog::logger> _logger;
5357 bool header_shown = false ;
5458 bool mt_enabled;
5559 };
56- }
60+ }
You can’t perform that action at this time.
0 commit comments