Skip to content

Commit 418dd29

Browse files
authored
Merge pull request #1810 from wsw0108/set-logger
add SetLogger to ModelManager
2 parents 8c668dd + 8eac20d commit 418dd29

2 files changed

Lines changed: 15 additions & 4 deletions

File tree

src/cpp/web-ifc/modelmanager/ModelManager.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
webifc::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+
3742
void 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

4350
webifc::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+
}

src/cpp/web-ifc/modelmanager/ModelManager.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
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+
}

0 commit comments

Comments
 (0)