乱蚣 发表于 2025-6-15 21:14:16

ArkUI-X框架LogInterface使用指南

ArkUI-X框架支持日志拦截能力,Android侧提供原生接口,用于注入LogInterface接口,框架日志及ts日志通过该接口输出,本文的核心内容是介绍如何在Android平台上有效利用ArkUI-X框架的LogInterface拦截日志。
Android平台创建ArkUI-X框架LogInterface

在Android平台创建ArkUI-X框架LogInterface需要实现ILogger接口,实现声明接口完整示例如下:
//LogInterface.java
import ohos.ace.adapter.ILogger;
public class LogInterface implements ILogger {
    @Override
    public boolean isDebuggable() {
      return false;
    }

    @Override
    public void d(String tag, String msg) {
      //对日志信息处理,落盘或输出
    }

    @Override
    public void i(String tag, String msg) {
      //对日志信息处理,落盘或输出
    }

    @Override
    public void w(String tag, String msg) {
      //对日志信息处理,落盘或输出
    }

    @Override
    public void e(String tag, String msg) {
      //对日志信息处理,落盘或输出
    }

    @Override
    public void f(String tag, String msg) {
      //对日志信息处理,落盘或输出
    }

    @Override
    public void jankLog(int tag, String msg) {
    }
}设置ArkUI-X框架LogInterface以及日志拦截等级

在需要控制ArkUI-X框架日志及TypeScript日志的输出时,可以利用StageApplicationDelegate类中setLogInterface方法来注入LogInterface,注入成功,框架和TypeScript的ERROR和FATAL日志通过提供的这个实例的方法输出,注入失败,执行日志输出原逻辑。
​ 设置日志拦截等级需使用StageApplicationDelegate类中setLogLevel方法,设置日志拦截等级成功,日志等级优先级低于该日志拦截等级时,日志不被输出。
​ 通过setLogInterface注入LogInterface时,默认仅拦截并处理ERROR和FATAL等级日志;通过setLogLevel可降低日志拦截等级以输出更详细日志,但需特别注意:若将日志等级开放至ERROR以下(如 WARN/INFO/DEBUG),存在应用崩溃的风险。
注意:开发者使用时注册,必须位于调用MyApplication超类的onCreate()方法之后
设置ArkUI-X框架LogInterface以及日志拦截等级,完整示例如下:
// MyApplication.java
import android.util.Log;
import ohos.ace.adapter.ILogger;
import ohos.stage.ability.adapter.StageApplication;
import ohos.stage.ability.adapter.StageApplicationDelegate;

public class MyApplication extends StageApplication {
    private StageApplicationDelegate appDelegate = null;
    @Override
    public void onCreate() {
      super.onCreate();//在此onCreate后注册
      LogInterface logInterface = new LogInterface(); //创建实例
      this.appDelegate = new StageApplicationDelegate(); //创建appDelegate
      this.appDelegate.setLogInterface(logInterface); //设置LogInterface
      this.appDelegate.setLogLevel(ILogger.LOG_DEBUG);//设置日志拦截等级
    }
}
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

缀访 发表于 2025-10-25 00:46:55

前排留名,哈哈哈

迭婵椟 发表于 2025-11-27 16:47:09

感谢,下载保存了

巨耗 发表于 2025-12-5 03:27:16

收藏一下   不知道什么时候能用到

赫连如冰 发表于 5 天前

过来提前占个楼

遇玷 发表于 前天 20:32

新版吗?好像是停更了吧。
页: [1]
查看完整版本: ArkUI-X框架LogInterface使用指南