File tree Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change 4
4
#include " api/PlayerAPI.h"
5
5
#include " engine/EngineOwnData.h"
6
6
#include " ll/api/data/IndirectValue.h"
7
+ #include " ll/api/io/DefaultSink.h"
7
8
#include " ll/api/io/FileSink.h"
8
9
#include " ll/api/io/Logger.h"
9
10
#include " ll/api/io/PatternFormatter.h"
@@ -166,7 +167,18 @@ Local<Value> LoggerClass::setFile(const Arguments& args) {
166
167
if (args.size () >= 2 ) {
167
168
sink->setFlushLevel (static_cast <LogLevel>(args[1 ].asNumber ().toInt32 () - 1 ));
168
169
}
169
- return Boolean::newBoolean (getEngineOwnData ()->logger ->addSink (sink));
170
+ bool hasFileSink = false ;
171
+ for (auto & sk : getEngineOwnData ()->logger ->sinks ()) {
172
+ if (typeid (sk) == typeid (ll::io::FileSink)) {
173
+ hasFileSink = true ;
174
+ }
175
+ }
176
+ auto logger = getEngineOwnData ()->logger ;
177
+ if (hasFileSink) {
178
+ logger->clearSink ();
179
+ logger->addSink (std::make_shared<ll::io::DefaultSink>());
180
+ }
181
+ return Boolean::newBoolean (logger->addSink (sink));
170
182
}
171
183
CATCH (" Fail in LoggerSetFile!" )
172
184
}
You can’t perform that action at this time.
0 commit comments