3个不稳定版本

0.2.1 2023年6月14日
0.2.0 2023年6月10日
0.1.0 2023年6月6日

#472 in 调试


用于 2 crates

MIT/Apache

20KB
163 代码行

mgba_log

GitHub Workflow Status crates.io docs.rs License

mGBA的日志实现。

为在Game Boy Advance编译和运行在mGBA模拟器中时提供log crate的日志实现。

mGBA支持以下日志级别使用相关的日志宏。除了Trace之外,log crate提供的所有级别都受支持,因为mGBA没有与Trace日志级别相对应的级别,并且此crate提供了一个直接记录到Fatal的宏。

级别 说明
Debug log::debug!
Info log::info!
Warn log::warn!
Error log::error!
Fatal mgba_log::fatal! 非标准 log 级别。仅在使用此日志实现时可用。

使用方法

在库中

mgba_log 应仅用于二进制文件。库应直接使用log crate提供的日志外观。

在二进制文件中

在二进制文件中记录日志时,只能启用一个日志记录器。因此,mgba_log 不能与其他日志实现一起使用。

安装

在您的 Cargo.toml 中添加 mgba_log 依赖项

[dependencies]
mgba_log = "0.2.1"

然后在二进制文件中尽早调用 init()。初始化之前记录的任何记录都将被静默删除。

fn main() {
    mgba_log::init().expect("unable to initialize mGBA logger");

    log::info!("Hello, world!");
}

请注意,您可能希望更稳健地处理来自Error的消息,除非您只想在mGBA上运行您的项目。

兼容性

此日志记录器使用特定于Game Boy Advance的内存映射I/O寄存器。因此,只有当您构建用于在Game Boy Advance或Game Boy Advance模拟器上运行时,才能安全地使用此库。

如果尝试在不是在mGBA上运行时初始化此日志记录器,它将无法初始化,并返回一个Error来标识失败。

许可证

此项目根据您的选择,受以下任一许可证的许可:

任选其一。

贡献

除非您明确说明,否则您提交的任何有意包含在作品中的贡献,根据Apache-2.0许可证的定义,应按上述方式双许可,而不附加任何额外的条款或条件。

依赖

~87KB