diff --git a/entry/src/main/ets/pages/BridgeGameContainer.ets b/entry/src/main/ets/pages/BridgeGameContainer.ets index b70ca62..befe6e3 100644 --- a/entry/src/main/ets/pages/BridgeGameContainer.ets +++ b/entry/src/main/ets/pages/BridgeGameContainer.ets @@ -203,6 +203,15 @@ export struct BridgeGameContainer { return this.params.entryUrl !== '' ? this.params.entryUrl : $rawfile('test_echo.html'); } + /** 转发 H5 console 到 hilog(debug 限定,带角色/级别/来源行,便于排查 H5 报错)。tag=WebConsole。 */ + private logWebConsole(role: string, event: OnConsoleEvent): void { + if (!AppEnv.isDebug()) { + return; + } + const m: ConsoleMessage = event.message; + Logger.tag('WebConsole').i(`[${role}][lv${m.getMessageLevel()}] ${m.getMessage()} @${m.getSourceId()}:${m.getLineNumber()}`); + } + build() { NavDestination() { Stack() { @@ -225,10 +234,7 @@ export struct BridgeGameContainer { } }) .onConsole((event: OnConsoleEvent) => { - // 仅 debug 转发 H5 console 到 hilog,便于排查 H5 问题;release 不打扰 - if (AppEnv.isDebug()) { - Logger.tag('WebConsole').i(event.message.getMessage()); - } + this.logWebConsole('lobby', event); return false; }) .onRenderExited((event: OnRenderExitedEvent) => this.slotL?.onRenderExited(event.renderExitReason)) @@ -250,6 +256,10 @@ export struct BridgeGameContainer { this.slotS?.onFirstProgress(); } }) + .onConsole((event: OnConsoleEvent) => { + this.logWebConsole('subgame', event); + return false; + }) .onRenderExited((event: OnRenderExitedEvent) => this.slotS?.onRenderExited(event.renderExitReason)) } diff --git a/entry/src/main/ets/pages/GenericWebContainer.ets b/entry/src/main/ets/pages/GenericWebContainer.ets index f8d174f..03199ef 100644 --- a/entry/src/main/ets/pages/GenericWebContainer.ets +++ b/entry/src/main/ets/pages/GenericWebContainer.ets @@ -3,7 +3,7 @@ import { common, Want } from '@kit.AbilityKit'; import { window } from '@kit.ArkUI'; import { BusinessError } from '@kit.BasicServicesKit'; import { SettingsProxy } from 'feature_bridge'; -import { Logger } from 'common'; +import { AppEnv, Logger } from 'common'; import { GenericWebParams, GenericWebResult } from '../routes/AppRoutes'; /** @@ -92,6 +92,14 @@ export struct GenericWebContainer { this.controller.runJavaScript(`getWebdata(${this.jsArg(this.params.data)})`); } }) + .onConsole((event: OnConsoleEvent) => { + // 转发 H5 console 到 hilog(debug 限定,tag=WebConsole) + if (AppEnv.isDebug()) { + const m: ConsoleMessage = event.message; + Logger.tag('WebConsole').i(`[genericweb][lv${m.getMessageLevel()}] ${m.getMessage()} @${m.getSourceId()}:${m.getLineNumber()}`); + } + return false; + }) } .hideTitleBar(true) .onBackPressed(() => {