温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦!

HarmonyOS NEXT 日志工具类详解(二):日志打印方法实现

效果演示

1. 日志方法概述

Logger类提供了四种级别的日志打印方法:

  • debug:调试日志
  • info:信息日志
  • warn:警告日志
  • error:错误日志

2. 方法实现详解

2.1 debug方法

debug(...args: string[]) {
  hilog.debug(this.domain, this.prefix, this.format, args);
}

参数说明:

  • ...args: 可变参数,接收多个字符串
  • this.domain: 日志域
  • this.prefix: 日志前缀
  • this.format: 日志格式

2.2 info方法

info(...args: string[]) {
  hilog.info(this.domain, this.prefix, this.format, args);
}

2.3 warn方法

warn(...args: string[]) {
  hilog.warn(this.domain, this.prefix, this.format, args);
}

2.4 error方法

error(...args: string[]) {
  hilog.error(this.domain, this.prefix, this.format, args);
}

3. 参数解析

3.1 可变参数

...args: string[]
  • 使用扩展运算符(...)
  • 类型为字符串数组
  • 可接收多个参数

3.2 hilog方法参数

hilog.debug(domain, prefix, format, args);
  1. domain: 日志域
  2. prefix: 前缀
  3. format: 格式
  4. args: 参数数组

4. 使用示例

4.1 基本使用

// 创建logger实例
const logger = new Logger('[MyModule]');

// 打印不同级别的日志
logger.debug('Init', 'Application started');
logger.info('Process', 'Data loading');
logger.warn('Network', 'Connection slow');
logger.error('API', 'Request failed');

4.2 多参数使用

logger.info('User', 'Login', 'Success');
logger.error('Database', 'Query', 'Failed', 'Timeout');

5. 日志级别使用建议

  1. debug级别

    • 开发阶段使用
    • 详细的调试信息
    • 生产环境通常关闭
  2. info级别

    • 常规操作信息
    • 状态变化记录
    • 重要流程节点
  3. warn级别

    • 潜在问题警告
    • 性能问题提示
    • 即将废弃的功能
  4. error级别

    • 错误异常信息
    • 操作失败记录
    • 需要立即关注的问题

6. 最佳实践

6.1 日志内容规范

// 好的实践
logger.info('UserService', 'User login successful', 'userId: 123');

// 避免的做法
logger.info('ok', 'done', '123');

6.2 错误日志处理

try {
  // 业务代码
} catch (error) {
  logger.error('ServiceName', 'Operation', error.message);
}

6.3 性能考虑

// 条件日志
if (isDebugMode) {
  logger.debug('DetailInfo', 'Complex object:', JSON.stringify(data));
}

7. 注意事项

  1. 日志安全

    • 避免记录敏感信息
    • 控制日志级别
    • 适当的日志清理机制
  2. 日志效率

    • 避免过多日志
    • 合理使用日志级别
    • 必要时进行日志采样
  3. 日志可读性

    • 清晰的模块标识
    • 具体的错误描述
    • 相关的上下文信息

通过以上详细讲解,你应该能够理解Logger类的各种日志方法实现和使用方式。合理使用这些方法可以帮助你更好地进行应用开发和调试。


全栈若城
1 声望2 粉丝