跳转至

脚本引擎 - 脚本辅助接口文档

这里提供了大量的 辅助功能 ,包括日志功能、加载器功能接口等等。

他们让你开发脚本变得更加容易而自然,避免了很多无谓的细节问题的纠缠。

📅 通用日志 API

以往,按某种格式输出日志到指定位置是一件非常麻烦的事情。
如今,脚本引擎为你提供了方便的通用日志接口。

概念:关于日志输出等级

为了给日志的优先程度和重要性进行分级,我们引入了 日志输出等级 的概念。
日志输出等级越高,日志的内容越详细,但同时输出的日志量也越大
详见下表:

日志输出等级 对应等级名称 实际输出日志内容
0 Slient 不输出任何日志
1 Fatal 仅输出 严重错误信息
2 Error 输出 严重错误、错误信息
3 Warn 输出 严重错误、错误、警告信息
4 Info 输出 严重错误、错误、警告、提示信息
5 Debug 输出 严重错误、错误、警告、提示 和 调试信息

通过 日志输出等级 设置,你可以很方便地过滤掉某些在生产环境中没必要输出的信息。

日志输出等级的默认值为4,也就是说,除了调试信息以外其他种类的日志都将被输出。
通过下面给出的一些 API ,你可以将日志输出等级调整为你自己想要的值。

设置输出配置

在使用通用日志接口之前,你需要先按你的需求修改一下日志输出的某些配置设置

你可以通过修改设置,自由选择将日志发向控制台、文件甚至某个玩家
这些设置是可以同时存在的,比如说,你可以设置同时发送到控制台和文件
如果你不修改任何设置,默认情况 下,日志仅会输出到控制台。

设置日志是否输出到控制台

logger.setConsole(isOpen[,logLevel])

  • 参数:
  • isOpen : Boolean
    设置日志是否输出到控制台
    开关默认是打开状态。
  • logLevel : Integer
    (可选参数)控制台的日志输出等级,默认为4
  • 返回值:无

设置日志是否输出到文件

logger.setFile(filepath[,logLevel])

  • 参数:
  • filepath : String
    设置日志输出到的文件路径
    如果传入空字符串或者Null,则代表关闭到文件的输出。
    开关默认是关闭状态
  • logLevel : Integer
    (可选参数)文件的最小日志输出等级,默认为4
  • 返回值:无

如果要输出到文件,我们提倡您将日志统一输出到BDS根目录/logs/文件夹下,以方便整理和检查。

设置日志是否输出到某个玩家

logger.setPlayer(player[,logLevel])

  • 参数:
  • player : Player
    设置日志输出到的目标玩家对象
    如果传入Null,则代表关闭到玩家的输出。
    开关默认是关闭状态
  • logLevel : Integer
    (可选参数)玩家的最小日志输出等级,默认为4
  • 返回值:无

这是为了方便游戏内调试而设计的功能,输出到玩家的日志会被当作聊天消息,显示在目标玩家的屏幕上

### 输出日志函数

在设置完毕之后,你就可以用这里的函数输出日志了

logger.log(data1,data2,...) -> 输出普通文本
logger.debug(data1,data2,...) -> 输出调试信息
logger.info(data1,data2,...) -> 输出提示信息
logger.warn(data1,data2,...) -> 输出警告信息
logger.error(data1,data2,...) -> 输出错误信息
logger.fatal(data1,data2,...) -> 输出严重错误信息

  • 参数:
  • 待输出的变量或者数据
    可以是任意类型,参数数量可以是任意个
  • 返回值:无

其中,普通文本在输出的时候会按照原样输出,而其他的各个输出接口都会在日志内容前面附加上当前时间和日志类型
例如:你调用logger.error("Fail to transport the player")
日志输出的结果是

Text Only
1
[2021-05-21 19:41:03 Error] Fail to transport the player

其他的一些设置项

除此之外,还有其他的一些设置项,用来改变输出日志的格式

设置自定义日志消息标头

logger.setTitle(title)

  • 参数:
  • title : String
    设置的自定义标头
  • 返回值:无

「标头」为日志输出条目开头的文字,用来直观地区分日志的输出源。
默认情况下,消息标头默认为空,即输出时没有标头。

例如:设置自定义标头为logger.setTitle("LeviLamina")
则在接下来的日志输出将变为形如:

Text Only
1
20:05:26 ERROR [LeviLamina] Fail to transport the player

如果在设置之后想要关闭标头,请执行logger.setTitle("")

统一修改日志输出等级

logger.setLogLevel(level)

  • 参数:
  • level : Integer
    日志输出等级
  • 返回值:无

统一重设各种输出方向的日志输出等级