当前位置: 首页 > wzjs >正文

中国企业网官方网站下载网络营销一般月薪多少

中国企业网官方网站下载,网络营销一般月薪多少,wordpress站点地图,网站哪里做应用场景 在鸿蒙开发中,我们在很多时候调试代码都需要用到日志打印工具,但无论是hilog还是console.log,都用起来相对麻烦,而且需要手动将对象转换为JSON字符串的方式才能打印,并且在控制台日志中输出的格式也非常丑。所以下面我们…

应用场景

        在鸿蒙开发中,我们在很多时候调试代码都需要用到日志打印工具,但无论是hilog还是console.log,都用起来相对麻烦,而且需要手动将对象转换为JSON字符串的方式才能打印,并且在控制台日志中输出的格式也非常丑。所以下面我们来自己封装一下Logger打印工具。

hilog和console.log的缺点

这是一个完整代码,复制即可使用测试hilog和console.log打印

import { hilog } from '@kit.PerformanceAnalysisKit'const DOMAIN = 0x0000;@Entry
@Component
struct Test {build() {Column() {Button('点击打印').onClick(() => {console.log('console.log打印值')hilog.info(DOMAIN, 'testTag', '%{public}s', 'hilog打印值');})}.width('100%').height('100%').justifyContent(FlexAlign.Center)}
}

 样式很简单,就一个按钮

可以在底部控制栏日志中查看打印

如果这样看好像也么啥,都能打印但是

hilog需要传入好几个参数才能打印自己想打印的那个参数

比如我就想打印个"123456"的字符串,前面需要配三个参数,很麻烦

而console.log不能单独打印对象,必须加上一个字符串类型

而且即使这样能打印,打印出来的也只是类型

必须把对象转为JSON格式的字符串才能打印具体值

基于hilog二次封装一个自己的logger工具

这个工具主要做了

1. 封装一个Logger工具类
2. 工具类提供一系列的方法(info, debug, error, warn)
3. 导出一个实例对象, 使用处通过实例对象调用方法

好处是将hilog中一些不需要改变的地方固定起来,使用的时候只需要传入要打印的东西即可,并且支持传入多个参数。

/*** 1. 封装一个Logger工具类* 2. 工具类提供一系列的方法(info, debug, error, warn)* 3. 导出一个实例对象, 使用处通过实例对象调用方法*/
import { hilog } from "@kit.PerformanceAnalysisKit";const PREFIX = 'utils_logger'class Logger {private domain: number;private prefix: string;private format: string = "%{public}s, %{public}s";constructor(domain: number, prefix: string) {this.domain = domainthis.prefix = prefix}debug(...args: string[]): void {hilog.debug(this.domain, this.prefix, this.format, args);}info(...args: string[]): void {hilog.info(this.domain, this.prefix, this.format, args);}warn(...args: string[]): void {hilog.warn(this.domain, this.prefix, this.format, args);}error(...args: string[]): void {hilog.error(this.domain, this.prefix, this.format, args);}
}export const logger = new Logger(0x1234, PREFIX)

现在在页面中使用试试

打印结果是

现在可以只传想打印的东西,不过也还有缺点,就是还是需要手动将对象转换为JSON

基于第三方库 @abner/log 封装Logger工具

这个第三方工具好用而且可视化效果很好。

在终端引入三方库

ohpm install @abner/log

初始化并导出

import { Log } from '@abner/log'// 初始化
Log.init({tag: "log_find_easy",domain: 0x0101,close: false,isHilog: true,showLogLocation: true,logSize: 1024
})export { Log }

 这是相关属性的解释

属性类型概述
tagstring打印的标签,默认为: HarmonyOSLog
domainnumber输出日志所对应的业务领域,默认为0x0000
closeboolean是否关闭打印,默认true为打开,false为不打印
isHilogboolean打印类型,默认为true是hilog打印 ,false为console
mShowLogLocationboolean是否展示点击的位置,默认为true是展示 ,false为不展示
logSizenumber日志每次输出大小,最大1024字节

 在页面中引入使用

打印结果,可以看到,非常的美观,并且对象也是格式化后的,还能把报错的具体位置给显示出来,真的是非常方便。

 试用

把下面三个文件放到同一个目录,并在终端通过ohpm install @abner/log引入三方库,就可以直接测试使用。

Test.ets

import { hilog } from '@kit.PerformanceAnalysisKit'
import { Log } from './Log';
import { logger } from './Logger';const DOMAIN = 0x0000;interface Obj {a: number;b: string;
}@Entry
@Component
struct Test {obj: Obj = {a: 1,b: '2'}build() {Column() {Button('点击打印').onClick(() => {console.log('123', JSON.stringify(this.obj))hilog.info(DOMAIN, 'testTag', '%{public}s', '12346');logger.info('123')logger.debug(JSON.stringify(this.obj))logger.warn('123', '123123')logger.error('12312', JSON.stringify(this.obj))Log.info('123')Log.debug(this.obj)Log.warn('123', '123123')Log.error(this.obj, '123123')})}.width('100%').height('100%').justifyContent(FlexAlign.Center)}
}

Logger.ets

/*** 1. 封装一个Logger工具类* 2. 工具类提供一系列的方法(info, debug, error, warn)* 3. 导出一个实例对象, 使用处通过实例对象调用方法*/
import { hilog } from "@kit.PerformanceAnalysisKit";const PREFIX = 'utils_logger'class Logger {private domain: number;private prefix: string;private format: string = "%{public}s, %{public}s";constructor(domain: number, prefix: string) {this.domain = domainthis.prefix = prefix}debug(...args: string[]): void {hilog.debug(this.domain, this.prefix, this.format, args);}info(...args: string[]): void {hilog.info(this.domain, this.prefix, this.format, args);}warn(...args: string[]): void {hilog.warn(this.domain, this.prefix, this.format, args);}error(...args: string[]): void {hilog.error(this.domain, this.prefix, this.format, args);}
}export const logger = new Logger(0x1234, PREFIX)

Log.ets

import { Log } from '@abner/log'// 初始化
Log.init({tag: "log_find_easy",domain: 0x0101,close: false,isHilog: true,showLogLocation: true,logSize: 1024
})export { Log }

http://www.dtcms.com/wzjs/193612.html

相关文章:

  • 彩票网站是怎么做的域名注册新网
  • 网站维护界面设计网上有免费的网站吗
  • 北京网站开发专员免费申请网站com域名
  • 福州网站设计外包推广方案的内容有哪些
  • 广州市幼儿师范学校外链seo招聘
  • 网站ui需求专业seo公司
  • 聊城集团网站建设价格永久免费不收费的污染app
  • 织梦做的网站怎么上传视频网站seo网络优化
  • aws服务器搭建wordpressseo长沙
  • 江苏和城乡建设部网站首页网络公司名字大全
  • 家庭宽带做网站服务器吗网络营销的主要内容有哪些
  • 做京东一样的网站seo门户网站优化
  • 顺德大良营销网站建设通过qq群可以进行友情链接交换
  • php 手机网站开发教程关键词排名是由什么决定的
  • 太仓有专门做网站的地方吗seo优化平台
  • 网站建设公司价格seo在中国
  • 做网站 就杭州优化建筑设计
  • 龙游做网站网站的优化seo
  • 做动图为所欲为的网站一份完整的电商运营方案
  • 新浪门户网站是谁做的百度推广优化方案
  • 网站编程用什么语言个人在百度上发广告怎么发
  • 什么网站可以做任务赚钱百度图片搜索引擎入口
  • 石家庄p2p网站开发西安网站建设公司排名
  • 制作网站团队公司专业网站建设
  • 找装修公司的网站百度收录提交网址
  • 长沙网站建设工作室百度代理合作平台
  • 国有企业网站建设游戏推广员判几年
  • 网站 关键词库 怎么做上海aso苹果关键词优化
  • wordpress怎么修改登录界面优化推广
  • 大型网站响应式应用商店下载