From d7eeb135d9430548c5853e6c6fcef3dea68618c9 Mon Sep 17 00:00:00 2001 From: EasyGuohf <163991322+EasyGuohf@users.noreply.github.com> Date: Wed, 17 Sep 2025 17:07:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97Logger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 5 ++- README.md | 5 ++- webprerenderlibrary/Index.ets | 4 +- .../src/main/ets/common/ResourceUtil.ets | 6 +-- .../ets/common/utils/BreakpointSystem.ets | 4 +- .../src/main/ets/common/utils/Logger.ets | 45 +++++++++++++++++++ .../src/main/ets/common/utils/WindowUtil.ets | 12 ++--- .../src/main/ets/view/WebPage.ets | 6 +-- .../main/ets/entryability/EntryAbility.ets | 21 +++++---- 9 files changed, 78 insertions(+), 30 deletions(-) create mode 100644 webprerenderlibrary/src/main/ets/common/utils/Logger.ets diff --git a/README.en.md b/README.en.md index f15ef8a..47e5991 100644 --- a/README.en.md +++ b/README.en.md @@ -17,8 +17,9 @@ webprerenderlibrary ├──src/main/ets/ │ ├──common │ │ ├──utils -│ │ │ ├──BreakpointSystem.ets -│ │ │ └──WindowUtil.ets +│ │ │ ├──BreakpointSystem.ets +│ │ │ ├──Logger.ets +│ │ │ └──WindowUtil.ets │ │ ├──Constants.ets // Common constant class │ │ └──ResourceUtil.ets │ └──view diff --git a/README.md b/README.md index 4d2825b..2125398 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,9 @@ webprerenderlibrary ├──src/main/ets/ │ ├──common │ │ ├──utils -│ │ │ ├──BreakpointSystem.ets // 断点类 -│ │ │ └──WindowUtil.ets // 窗口工具 +│ │ │ ├──BreakpointSystem.ets // 断点类 +│ │ │ ├──Logger.ets // 日志类 +│ │ │ └──WindowUtil.ets // 窗口工具 │ │ ├──Constants.ets // 公共常量类 │ │ └──ResourceUtil.ets │ └──view diff --git a/webprerenderlibrary/Index.ets b/webprerenderlibrary/Index.ets index 9998f10..8cc49cc 100644 --- a/webprerenderlibrary/Index.ets +++ b/webprerenderlibrary/Index.ets @@ -1,3 +1,5 @@ export { WebPreRenderView as WebPreRenderComponent } from './src/main/ets/view/WebPreRenderView'; -export { WebPrerenderController } from './src/main/ets/WebPrerenderController'; \ No newline at end of file +export { WebPrerenderController } from './src/main/ets/WebPrerenderController'; + +export { default as Logger } from './src/main/ets/common/utils/Logger'; \ No newline at end of file diff --git a/webprerenderlibrary/src/main/ets/common/ResourceUtil.ets b/webprerenderlibrary/src/main/ets/common/ResourceUtil.ets index fef4ed7..82f81a0 100644 --- a/webprerenderlibrary/src/main/ets/common/ResourceUtil.ets +++ b/webprerenderlibrary/src/main/ets/common/ResourceUtil.ets @@ -15,8 +15,8 @@ import { JSON, util } from '@kit.ArkTS'; import { BusinessError } from '@kit.BasicServicesKit'; -import { hilog } from '@kit.PerformanceAnalysisKit'; import { Constants } from './Constants'; +import Logger from './utils/Logger'; export class ResourceUtil { /** @@ -36,8 +36,8 @@ export class ResourceUtil { try { resourceString = context.getHostContext()!.resourceManager.getStringSync(resource.id); } catch (error) { - hilog.error(0x0000, 'WebviewController', '%{public}s', - `ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}`); + Logger.error('WebviewController', '%{public}s', + `ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}.`); } return resourceString; } diff --git a/webprerenderlibrary/src/main/ets/common/utils/BreakpointSystem.ets b/webprerenderlibrary/src/main/ets/common/utils/BreakpointSystem.ets index 26914c1..ed9532f 100644 --- a/webprerenderlibrary/src/main/ets/common/utils/BreakpointSystem.ets +++ b/webprerenderlibrary/src/main/ets/common/utils/BreakpointSystem.ets @@ -15,8 +15,8 @@ import { window } from '@kit.ArkUI'; import type { BusinessError } from '@kit.BasicServicesKit'; -import { hilog } from '@kit.PerformanceAnalysisKit'; import { Constants } from '../Constants'; +import Logger from './Logger'; const TAG: string = '[BreakpointSystem]'; @@ -115,7 +115,7 @@ export class BreakpointSystem { this.updateCurrentBreakpoint(widthBp); } catch (error) { const err: BusinessError = error as BusinessError; - hilog.error(0x0000, TAG, `UpdateBreakpoint fail, error code: ${err.code}, message: ${err.message}`); + Logger.error(TAG, `UpdateBreakpoint fail, error code: ${err.code}, message: ${err.message}.`); } } } \ No newline at end of file diff --git a/webprerenderlibrary/src/main/ets/common/utils/Logger.ets b/webprerenderlibrary/src/main/ets/common/utils/Logger.ets new file mode 100644 index 0000000..cb742d7 --- /dev/null +++ b/webprerenderlibrary/src/main/ets/common/utils/Logger.ets @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License'); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { hilog } from '@kit.PerformanceAnalysisKit'; + +class Logger { + private domain: number; + private prefix: string; + private format: string = '%{public}s, %{public}s'; + + public constructor(prefix: string) { + this.prefix = prefix; + this.domain = 0x0000; + } + + public debug(...args: Object[]): void { + hilog.debug(this.domain, this.prefix, this.format, args); + } + + public info(...args: Object[]): void { + hilog.info(this.domain, this.prefix, this.format, args); + } + + public warn(...args: Object[]): void { + hilog.warn(this.domain, this.prefix, this.format, args); + } + + public error(...args: Object[]): void { + hilog.error(this.domain, this.prefix, this.format, args); + } +} + +export default new Logger('[webPrerender]'); \ No newline at end of file diff --git a/webprerenderlibrary/src/main/ets/common/utils/WindowUtil.ets b/webprerenderlibrary/src/main/ets/common/utils/WindowUtil.ets index 5ee2b40..9aea7d3 100644 --- a/webprerenderlibrary/src/main/ets/common/utils/WindowUtil.ets +++ b/webprerenderlibrary/src/main/ets/common/utils/WindowUtil.ets @@ -15,11 +15,11 @@ import { window } from '@kit.ArkUI'; import type { BusinessError } from '@kit.BasicServicesKit'; -import { hilog } from '@kit.PerformanceAnalysisKit'; import { createNWeb } from '../../view/WebPage'; import { Constants } from '../Constants'; import { ConfigMapKey, ResourceUtil } from '../ResourceUtil'; import { BreakpointSystem } from './BreakpointSystem'; +import Logger from './Logger'; const TAG: string = '[WindowUtil]'; @@ -36,7 +36,7 @@ export class WindowUtil { WindowUtil.registerBreakPoint(WindowUtil.windowClass); } catch (err) { const error = err as BusinessError; - hilog.error(0x0000, TAG, `Initialize failed. Cause code: ${error.code}, message: ${error.message}`); + Logger.error(TAG, `Initialize failed. Cause code: ${error.code}, message: ${error.message}`); } } @@ -45,13 +45,13 @@ export class WindowUtil { try { const promise: Promise = windowClass.setWindowLayoutFullScreen(true); promise.then(() => { - hilog.info(0x0000, TAG, 'Succeeded in setting the window layout to full-screen mode.'); + Logger.info(TAG, 'Succeeded in setting the window layout to full-screen mode.'); }).catch((err: BusinessError) => { - hilog.error(0x0000, TAG, + Logger.error(TAG, `Failed to set the window layout to full-screen mode. Cause: ${err.code}, ${err.message}`); }); } catch { - hilog.error(0x0000, TAG, 'Failed to set the window layout to full-screen mode. '); + Logger.error(TAG, 'Failed to set the window layout to full-screen mode. '); } } @@ -69,7 +69,7 @@ export class WindowUtil { }); } catch (err) { const error = err as BusinessError; - hilog.error(0x0000, TAG, + Logger.error(TAG, `Register avoidAreaChange or windowSizeChange failed. code: ${error.code}, message: ${error.message}`); } } diff --git a/webprerenderlibrary/src/main/ets/view/WebPage.ets b/webprerenderlibrary/src/main/ets/view/WebPage.ets index df0d680..3799894 100644 --- a/webprerenderlibrary/src/main/ets/view/WebPage.ets +++ b/webprerenderlibrary/src/main/ets/view/WebPage.ets @@ -16,9 +16,9 @@ import { BuilderNode, FrameNode, NodeController, UIContext } from '@kit.ArkUI'; import { webview } from '@kit.ArkWeb'; import { BusinessError } from '@kit.BasicServicesKit'; -import { hilog } from '@kit.PerformanceAnalysisKit'; import { Constants } from '../common/Constants'; import { ConfigMapKey, ResourceUtil } from '../common/ResourceUtil'; +import Logger from '../common/utils/Logger'; const TAG = '[WebPageView]'; @@ -44,11 +44,11 @@ struct WebPageView { this.data.controller.setUrlTrustList(Constants.URL_TRUST); } catch (error) { const err: BusinessError = error as BusinessError; - hilog.error(0x0000, TAG, '%{public}s', `ErrorCode: ${err.code}, Message: ${err.message}`); + Logger.error(TAG, `ErrorCode: ${err.code}, Message: ${err.message}.`); } }) .onSslErrorEventReceive((event) => { - hilog.error(0x0000, TAG, '%{public}s', 'OnSslErrorEventReceive: ssl check failed'); + Logger.error(TAG, 'OnSslErrorEventReceive: ssl check failed'); event.handler.handleCancel(); }) .width($r('app.string.full_height_width')) diff --git a/webprerendersample/src/main/ets/entryability/EntryAbility.ets b/webprerendersample/src/main/ets/entryability/EntryAbility.ets index 7f65db3..5e2d77f 100644 --- a/webprerendersample/src/main/ets/entryability/EntryAbility.ets +++ b/webprerendersample/src/main/ets/entryability/EntryAbility.ets @@ -16,51 +16,50 @@ import { ConfigurationConstant, UIAbility } from '@kit.AbilityKit'; import { window } from '@kit.ArkUI'; import { BusinessError } from '@kit.BasicServicesKit'; -import { hilog } from '@kit.PerformanceAnalysisKit'; -import { WebPrerenderController } from '@ohos_samples/webprerenderlibrary'; +import { Logger, WebPrerenderController } from '@ohos_samples/webprerenderlibrary'; const TAG = '[WebPrerenderSampleAbility]'; export default class WebPrerenderSampleAbility extends UIAbility { onCreate(): void { - hilog.info(0x0000, TAG, '%{public}s', 'Ability onCreate'); + Logger.info(TAG, 'Ability onCreate'); try { this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); } catch (error) { const err: BusinessError = error as BusinessError; - hilog.error(0x0000, TAG, '%{public}s', `Set colorMode failed: ${err.code}, ${err.message}`); + Logger.error(TAG, `Set colorMode failed: ${err.code}, ${err.message}.`); } } onDestroy(): void { - hilog.info(0x0000, TAG, '%{public}s', 'Ability onDestroy'); + Logger.info(TAG, 'Ability onDestroy'); } onWindowStageCreate(windowStage: window.WindowStage): void { // Main window is created, set main page for this ability - hilog.info(0x0000, TAG, '%{public}s', 'Ability onWindowStageCreate'); + Logger.info(TAG, 'Ability onWindowStageCreate'); windowStage.loadContent('pages/Index', (err) => { if (err.code) { - hilog.error(0x0000, TAG, '%{public}s', `Failed to load the content. Cause: ${err.code}`); + Logger.error(TAG, `Failed to load the content. Cause: ${err.code}.`); return; } WebPrerenderController.initWindowConfig(windowStage); - hilog.info(0x0000, TAG, '%{public}s', `Succeed in loading the content.`); + Logger.info(TAG, `Succeed in loading the content.`); }); } onWindowStageDestroy(): void { // Main window is destroyed, release UI related resources - hilog.info(0x0000, TAG, '%{public}s', 'Ability onWindowStageDestroy'); + Logger.info(TAG, 'Ability onWindowStageDestroy'); } onForeground(): void { // Ability has brought to foreground - hilog.info(0x0000, TAG, '%{public}s', 'Ability onForeground'); + Logger.info(TAG, 'Ability onForeground'); } onBackground(): void { // Ability has back to background - hilog.info(0x0000, TAG, '%{public}s', 'Ability onBackground'); + Logger.info(TAG, 'Ability onBackground'); } } \ No newline at end of file -- Gitee