[]
在服务端命令代码逻辑中添加日志,可以方便用户调试服务端命令,了解命令的执行状态。在execute
方法内调用 Logger
类中的方法来写日志
public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {
@Override
public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
Logger.error("错误信息");
Logger.warning("警告信息");
Logger.info("info信息");
Logger.debug("debug信息");
Logger.trace("trace信息");
return new ExecuteResult();
}
@Override
public String toString() {
return "我的服务端命令插件";
}
}
package org.example;
import com.grapecity.forguncy.Logger;
import com.grapecity.forguncy.serverapi.annotation.Get;
import com.grapecity.forguncy.serverapi.entity.ForguncyApi;
import java.io.IOException;
import java.io.PrintWriter;
public class CustomApiT2 extends ForguncyApi {
@Get
public void helloWorld() throws IOException {
Logger.error("错误信息");
Logger.warning("警告信息");
Logger.info("info信息");
Logger.debug("debug信息");
Logger.trace("trace信息");
this.getContext().getResponse().setContentType("text/plain");
String message = "Hello World CustomApiT2";
PrintWriter out = this.getContext().getResponse().getWriter();
out.print(message);
out.close();
}
}
安全提供程序可以在 verifyUser getSettings 等方法中使用Logger 记录日志。
@Override
public User verifyUser(HashMap<String, String> properties) {
Logger.error("错误信息");
Logger.warning("警告信息");
Logger.info("info信息");
Logger.debug("debug信息");
Logger.trace("trace信息");
String name = properties.get("userName");
for (User user : getUserInformations().getUsers()) {
if (user.getUserId().equals(name)) {
return user;
}
}
return null;
}
效果如下:
如果是在设计器,在%Temp%\ForguncyDesignerLog\ForguncyJavaAdapter 目录下查看。
如果是在服务器,在日志存储目录下的ForguncyJavaAdapter目录中。
默认开启的日志级别是INFO 级别,只输出INFO 以上的日志信息。