Skip to content

Commit 680735c

Browse files
committed
refactor: implemented Logger::setTitle
1 parent dd965eb commit 680735c

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/legacy/api/LoggerAPI.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ std::string& StrReplace(std::string& str, const std::string& to_replaced, const
5252
void inline LogDataHelper(LogLevel level, const Arguments& args) {
5353
std::string res;
5454
for (int i = 0; i < args.size(); ++i) res += ValueToString(args[i]);
55-
getEngineOwnData()->plugin->getLogger().log(level, res);
55+
getEngineOwnData()->logger->log(level, res);
5656
}
5757

5858
Local<Value> LoggerClass::log(const Arguments& args) {
@@ -126,6 +126,7 @@ Local<Value> LoggerClass::setTitle(const Arguments& args) {
126126
CHECK_ARGS_COUNT(args, 1)
127127
CHECK_ARG_TYPE(args[0], ValueKind::kString)
128128

129+
getEngineOwnData()->logger = ll::io::LoggerRegistry::getInstance().getOrCreate(args[0].asString().toString());
129130
return Boolean::newBoolean(false);
130131
}
131132

@@ -138,12 +139,12 @@ Local<Value> LoggerClass::setConsole(const Arguments& args) {
138139

139140
try {
140141
if (args.size() >= 2) {
141-
getEngineOwnData()->plugin->getLogger().getSink(0)->setFlushLevel(
142+
getEngineOwnData()->logger->getSink(0)->setFlushLevel(
142143
static_cast<LogLevel>(args[1].asNumber().toInt32() - 1)
143144
); // See LSE's definition https://legacy-script-engine.levimc.org/apis/ScriptAPI/Logger/
144145
}
145146
if (!args[0].asBoolean().value()) {
146-
getEngineOwnData()->plugin->getLogger().getSink(0)->setFlushLevel(LogLevel::Off);
147+
getEngineOwnData()->logger->getSink(0)->setFlushLevel(LogLevel::Off);
147148
}
148149
return Boolean::newBoolean(true);
149150
}
@@ -165,7 +166,7 @@ Local<Value> LoggerClass::setFile(const Arguments& args) {
165166
if (args.size() >= 2) {
166167
sink->setFlushLevel(static_cast<LogLevel>(args[1].asNumber().toInt32() - 1));
167168
}
168-
return Boolean::newBoolean(getEngineOwnData()->plugin->getLogger().addSink(sink));
169+
return Boolean::newBoolean(getEngineOwnData()->logger->addSink(sink));
169170
}
170171
CATCH("Fail in LoggerSetFile!")
171172
}
@@ -181,7 +182,7 @@ Local<Value> LoggerClass::setPlayer(const Arguments& args) {
181182
if (args.size() >= 2) {
182183
sink->setFlushLevel(static_cast<LogLevel>(args[1].asNumber().toInt32() - 1));
183184
}
184-
return Boolean::newBoolean(getEngineOwnData()->plugin->getLogger().addSink(sink));
185+
return Boolean::newBoolean(getEngineOwnData()->logger->addSink(sink));
185186
}
186187
CATCH("Fail in LoggerSetPlayer!")
187188
}

src/legacy/engine/EngineOwnData.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ struct EngineOwnData {
7474
ll::i18n::I18n i18n;
7575
std::string defaultLocaleName;
7676

77-
std::shared_ptr<lse::Plugin> plugin;
77+
std::shared_ptr<lse::Plugin> plugin;
78+
std::shared_ptr<ll::io::Logger> logger = ll::io::LoggerRegistry::getInstance().getOrCreate(pluginName);
7879

7980
// 玩家绑定数据
8081
std::unordered_map<std::string, script::Global<Value>> playerDataDB;

0 commit comments

Comments
 (0)