@applicaster/x-ray

中文文档
0.9.10发布于 2026/10/30零依赖近 30 天下载 3929

Applicaster X-Ray Logger 软件

中文使用文档
文档目录11 节
  1. 概览
  2. 动机
  3. 特征 :
  4. Android 设置
  5. 与图书馆的联系
  6. Android 初始化和基本用途
  7. 高级过滤配置
  8. npm 发布
  9. 稳定释放(基于承诺)
  10. 加那利释放(PR分支)
  11. 问题:

一般用途

Logo

概览

图书馆为Android,iOS和React Industrial提供通用记录和报告设施.

动机

虽然Android和iOS有许多不同的记录系统,但它们大多面向开发者,只执行单项任务:记录. 有的过于简单(timber),有的过于复杂(logs4j),无一提供用户/QA面对的特性:轻松的外置配置,UI.

X-Ray图书馆的设计目标如下:

  • 为Android,iOS,以及React Industrial伐木提供滴入解决方案.
  • 模块化,因此许多组件可以用作独立的,或者与其他伐木解决方案结合.
  • 为开发者报告信息提供方便的语法和基础设施.
  • 提供随时可用UI组件进行日志配置、显示和报告.
  • 提供与应用诊断和见解相关的额外功能:崩溃报告,日志共享.
  • 易于扩展和定制.
  • 继承其他伐木系统的最佳做法,包括: 蟒, C # (韩语) 赛里洛等 (中文(简体) ).

特征 :

  • 自定义汇,如Serilog:亚行,文件等.
  • 弹性过滤
  • 扩展: 崩溃报告,通知控制
  • 带有 Moshi 的深对象堆放支持

Android 设置

在最小配置中,只需要核心. 它包含所有需要的日志接口,过滤规则和基本汇.

与图书馆的联系

项目可以通过下列方式连接:

  1. 利用出土文物:

马文文物是当地安卓应用的推荐方式.

将以下寄存器添加到您的工程顶级格勒

maven { url 'https://dl.bintray.com/applicaster-ltd/maven_plugins' }

连接核心 : implementation('com.applicaster:xray-core:0.0.4-alpha')

可选链接扩展需要 : implementation('com.applicaster:xray-crashreporter:0.0.4-alpha')

  1. 从 npm 仓库

国家防范机制一揽子计划包括源代码形式的项目。 反应-原生项目方便度.

  1. 作为git子模块

用于开发者在新扩展或扩展库本身的工作.

Android 初始化和基本用途

初始化并附加汇.

        val fileLogSink = PackageFileLogSink(this, "default.log");

        Core.get()
            .addSink("adb", ADBSink())
            .addSink("file", fileLogSink)

可选地配置崩溃报告扩展

        Reporting.init("[email protected]", fileLogSink.file)
        Reporting.enableForCurrentThread(this, true)

开始记录 :

        val rootLogger = Logger.get()
        rootLogger
            .d("Test")
            .message("Basic message")

从某个子系统的某个特定组件登录 :

        val logger = Logger.get("subsystem/component")
        logger
            .d("Test")
            .message("Basic message")

高级过滤配置

从任何日志器输出到任何汇都可以被过滤. 默认过滤器执行允许通过日志级别过滤.

在这里, 我们只允许错误消息传递到第二个文件槽 error_log_sink数字 :

        Core.get()
            .addSink("default_log_sink", fileLogSink)
            .addSink("error_log_sink", errorFileLogSink)
            .setFilter("error_log_sink", "", DefaultSinkFilter(LogLevel.error))

在每次应用程序启动时重制出动词日志级别日志文件,或按要求启用以避免占用过多的空间,同时保留或旋转错误日志文件时,可以使用此功能.

过滤可以为特定的子系统及其后人所压倒. 在这里,我们允许所有消息从 childLogger 及其子孙传入第二个文件槽:

        Core.get()
            .setFilter("error_log_sink", "childLogger", DefaultSinkFilter(LogLevel.debug))

请参看 ./docs/adr/003-下沉-过滤器.md 关于过滤方法的更详细信息.

建筑和部署

项目可以同时发布给npm和maven. 马文出版由CI完成,但可以手动进行. 请参考 .circleci/config.yml 页面存档备份,存于互联网档案馆 用于出版步骤.

npm 发布

稳定释放(基于承诺)

  1. 合并更改为 master。 。 。 .
  2. deploy_npm 运行 node ./scripts/publish_npm.js 并计算自上次发布以来承诺消息的释放出错.
  3. 脚本更新 package.json 版本,发布到 npm (latest),然后创造并推进:
    • 承诺: chore: publish @applicaster/x-ray@<version>
    • 标签 : <version>

加那利释放(PR分支)

合并前的测试更改 :

  1. 打开拉动请求( 除 master) (中文(简体) ).
  2. 等着 build 任务要完成.
  3. 手动批准 hold_create_canary 在圆环CI.
  4. deploy_npm_canary 运行 node ./scripts/publish_npm.js --canary ——与"扎普-框架"相同的规则 scripts/publish_plugins.js --canary数字 :
    • BREAKING CHANGE 自上次公布以来 主要
    • feat 犯罪(例如:. feat: …页:1 小声
    • 任何其他罪行(chore, (中文(简体) ), fix页:1 补丁
    • 版本基础是最新的 git 标记( 或 package.json (如果更高) (中文(简体) ).
    • 加那利语版本: 如果 npm next 与起伏版本相提并论 next (例如:. 0.7.2-alpha.0 → 0.7.2-alpha.1页:1 ${bumpedVersion}-alpha.0。 。 。 .
    • 发布到 next ditt-tag( 秒数) (npm view versions 避免重复版本; 在登记册处理时重复409次).

当地金丝雀出版社(NPM_TOKEN 所需:

yarn install
yarn publish:canary

用于 Maven 出版的艺术版本必须匹配 releaseVersion 常数在 android/gradle/constants.gradle。 。 。 .

注意xray 组件对扩展的依赖性是使用特殊帮助函数导入的 xrayAPI,例如:

xrayAPI(dependencies, ':xray-core')

这种帮助者动态地解决对项目或出土文物的依赖性,并在项目中存储依赖性信息. 存储的依赖性信息后来被maven出版脚本用于构建POM文件. 这种方法可以避免依赖性解析失败,因为在出版过程中,扩展依赖于仅待出版的文物.

要执行 :

  • 日志中动态上下文提供者( 线等)
  • 映射器配置
  • 使用 Dummy 事件构建器, 如果日志事件不会被记录以保存性能
  • 带有时间、标签等占位符的事件格式化器
  • 模板中命名的占位符( WIP)
  • 内循环缓冲事件槽
  • 可能输出文件汇到缓存而不是数据存储, 这样用户就可以在不丢失数据的情况下擦拭它
  • Trim/旋转文件汇
  • HTTP 服务器槽

问题:

  • 使用特定 Android 无效说明
  • 内部使用 Kotlin

版本与发布记录

@applicaster/x-ray 共发布 119 个版本,首次发布于 2020/08/21;过去 12 个月发布了 30 个版本。

版本发布日期距今
0.9.10latest2026/10/308 天前
0.9.92026/10/308 天前
0.9.82026/09/261 个月前
0.9.72026/07/283 个月前
0.9.62026/07/283 个月前
0.9.52026/07/283 个月前

其他发布通道:next → 0.8.0-alpha.5。

关于 @applicaster/x-ray 的常见问题

@applicaster/x-ray 是什么?

Applicaster X-Ray Logger 软件

如何安装 @applicaster/x-ray?

在项目目录运行 npm install @applicaster/x-ray,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(*)、react-native(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@applicaster/x-ray 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/applicaster__x-ray 是否存在。

@applicaster/x-ray 可以商用吗?

@applicaster/x-ray 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@applicaster/x-ray 的下载量有多少?

根据 npm 官方下载统计,@applicaster/x-ray 在 2026/10/07 – 2026/11/05 这 30 天内被下载 3,929 次,日均约 131 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@applicaster/x-ray 还在维护吗?

最新版本 0.9.10 发布于 2026/10/30(8 天前);至今共发布 119 个版本,其中过去 12 个月发布了 30 个;首次发布于 2020/08/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。