Mars--xlog加密踩坑

Xlog加密实践
本文档详细介绍了如何在Python2环境中安装并配置pyelliptic库用于Xlog加密,包括环境搭建、公私钥生成、Android端Xlog初始化及日志解密流程。

基础 - Xlog 加密使用指引 - 《Mars 开发文档》 - 书栈网 · BookStack

一、环境准备–Python2环境安装openssl
以下一起操作都需要在python2环境下进行操作
文档中使用的是pyelliptic1.5.7,在新版本的macos中已经不可用,有人提交了Issues
Exception: Couldn’t load OpenSSL lib , 升级到MACOS 11.5.1后出现 · Issue #969 · Tencent/mars (github.com)
下载pyelliptic 1.5.10
https://github.com/mfranciszkiewicz/pyelliptic/archive/1.5.10.tar.gz#egg=pyelliptic
解压后,修改源文件中的openssl.py文件,目录如下

pyelliptic-1.5.10/pyelliptic/openssl.py
def find_crypto_lib()
<think>嗯,用户这次想了解HarmonyOS中xlog的具体信息。从问题描述看,用户的需求非常明确,就是要知道xlog的使用方法、特性和配置细节。用户可能是个开发者,正在调试鸿蒙应用,需要可靠的日志工具。 参考之前提供的两个引用,虽然内容涉及鸿蒙技术社区和跨应用数据共享,但并未直接提到xlog。这说明需要抛开这些引用,从专业角度回答核心问题。 关于xlog,我掌握的关键点有:这是鸿蒙的高性能日志系统,支持多级别过滤、日志加密、异步写入等特性。使用上需要区分API Version 9前后的差异,新版用@ohos.hilog,旧版用全局hilog对象。配置项包括输出控制、标签设置等。 考虑到用户明确要“使用方法”,应该重点展示代码示例。比如初始化标签的代码片段很关键,因为所有日志接口都依赖tag。另外用户问“特性”,需要突出异步写入和加密这两个技术亮点,这对性能敏感型应用很重要。 安全方面要注意提醒:release版本必须关闭DEBUG日志。补充性能测试数据会更专业,但用户没要求深度分析,当前回答的深度应该足够。最后列出官方文档链接,方便用户延伸阅读。 </think>以下是关于 HarmonyOS 中 `xlog`(即系统日志模块,通常指 **HiLog**)的使用方法、核心特性及配置的详细说明: --- ### 一、**HiLog 的核心特性** 1. **分级日志输出** 支持 7 种日志级别(从高到低): `FATAL`(致命错误)、`ERROR`(错误)、`WARN`(警告)、`INFO`(信息)、`DEBUG`(调试)、`LOG`(默认级别) 2. **标签化过滤** 通过 `Domain`(领域ID)、`Tag`(模块标签)、`LogLevel` 三级标识精准过滤日志,例如: ```typescript const TAG: string = 'MyApp'; // 自定义标签 const DOMAIN: number = 0xFF00; // 自定义领域ID(16进制) ``` 3. **异步写入与性能优化** 日志采用异步非阻塞写入,避免阻塞主线程,提升应用性能。 4. **日志加密(可选)** 支持敏感日志的加密存储,需在 `config.json` 中开启安全配置。 --- ### 二、**使用方法(以 ArkTS 为例)** #### 1. 导入 HiLog 模块 ```typescript import hilog from '@ohos.hilog'; ``` #### 2. 输出日志 ```typescript // DEBUG 级别日志 hilog.debug(0xFF00, 'MyApp', 'Debug: %{public}s', '敏感数据不打印'); // INFO 级别日志(public 表示明文输出) hilog.info(0xFF00, 'MyApp', 'User %{public}s logged in', 'Alice'); // ERROR 级别日志 hilog.error(0xFF00, 'MyApp', 'Failed to connect: %{public}d', errorCode); ``` > **注意**: > - `%{public}`:明文输出敏感数据(如用户名) > - `%{private}`:隐藏敏感数据(输出为 `<private>`) > - 领域ID范围:`0x0~0xFFFF`(建议使用 `0xFF00` 后区间避免冲突) --- ### 三、**关键配置** #### 1. 在 `config.json` 中声明权限 ```json { "module": { "reqPermissions": [ { "name": "ohos.permission.READ_LOGS" // 读取日志权限(可选) } ] } } ``` #### 2. 控制台日志开关(开发者模式) ```bash # 开启 MyApp 的 DEBUG 日志 hilog -T MyApp -D ``` #### 3. 日志持久化配置 通过 `hilog` 命令行工具将日志保存到文件: ```bash hilog -w -f log.txt # 持续写入到 log.txt ``` --- ### 四、**最佳实践** 1. **生产环境日志规范** - 禁止输出 `DEBUG` 日志(仅开发阶段使用) - 敏感信息必须用 `%{private}` 标记 - 错误日志需包含错误码和上下文,例如: ```typescript hilog.error(0xFF00, 'Network', 'API_FAILED: code=%{public}d, url=%{private}s', code, url); ``` 2. **性能优化** 高频日志(如循环内)使用 `isLoggable` 预先判断级别: ```typescript if (hilog.isLoggable(DOMAIN, TAG, hilog.LogLevel.INFO)) { hilog.info(DOMAIN, TAG, ...); } ``` --- ### 五、**官方资源** 1. [HiLog 完整文档](https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/hilog-0000001427744760-V3) 2. [日志安全指南](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/security-log-protection-0000001574242905-V3) ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值