首页 > 其他分享 >go语言ent教程:使用zerolog定制ent日志

go语言ent教程:使用zerolog定制ent日志

时间:2023-10-05 20:34:42浏览次数:34  
标签:fmt zerolog ent str go 日志

背景:ent开始debug模式后,可以输出日志,但是我们想为ent接入zerolog,该怎么做呢?

 

一、引入zerolog

go get -u github.com/rs/zerolog

 

二、自定义zerolog配置

    customLog := func(args ...any) {
        str := fmt.Sprintf("%v", args)
        fmt.Println(str)

        logger := zerolog.New(zerolog.ConsoleWriter{Out: os.Stderr}).With().Caller().Logger()
        logger.Info().Str("time", time.Now().String()).Msg(str)
    }

 

三、为ent日志对接zerolog

    client, err := ent.Open("mysql",
        "root:dev@123456@tcp(localhost:3306)/test?parseTime=True", ent.Log(customLog), ent.Debug())

 

标签:fmt,zerolog,ent,str,go,日志
From: https://www.cnblogs.com/jamstack/p/17743871.html

相关文章

  • go语言ent教程:开启debug调试模式
    背景:ent模式是没有开启debug模式的 开启ent的调试模式有2种方法:一、通过配置选项开启client,err:=ent.Open("mysql","root:dev@123456@tcp(localhost:3306)/test?parseTime=True",ent.Debug()) 二、客户端调用Debug函数iferr:=client.Schema.Crea......
  • 《制作Docker镜像》——以Django镜像为例
    一、建一个基础的Ubuntu环境执行以下指令,docker就会搞一个ubuntu环境,如果你没有嘞?它就会自己下载的。dockerrun-itubtuntu然后你就会发现,自己进入了镜像了。二、给容器换源那么这个我们就只需要去清华的镜像。然后选择自己对应的版本。【--->Ubuntu软件仓库<---】接......
  • Go - Representing Duration
    Problem: Youwanttospecifyadurationoftime.Solution: UsetheDurationtypetorepresentaspanoftime. Themainrepresentationforaspanoftimeinthetimepackageis,ofcourse,Duration.Durationisnothingfancy,though;it’sjustanint64......
  • MongoDB高阶特性:事务、索引
    一、事务一)MongoDB的事务首先我们需要知道MongoDB是有多种存储引擎的,不同的存储引擎在实现ACID的时候,使用不同的机制。而Mongodb从3.0开始默认使用的是WiredTiger引擎,本文后续所有文字均是针对WiredTiger引擎。WiredTiger引擎可以针对单个文档来保证ACID特性,但是当需要操作多个......
  • CentOS8 Stream 网卡配置操作
    CentOS8 已废弃network.service,网卡操作需要使用nmcli,当前整理配置文件操作及相关命令命令:nmcli配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0配置单个ipv4地址IP:60.247.159.221  掩码:255.255.255.0  网关:60.247.159.1[root@ebs-113436~]#vim/etc/......
  • 2023-10-05 "code":"40006",msg"."Insufficient Permissions", ISV权限不
    1.登录支付宝开放平台https://open.alipay.com/2.找到控制台==》产品绑定,如下图: 我这里虽然已经绑定了,但是还没签约,意思就是还没开通app支付;3.点击去开通。 ......
  • 使用 expo-location 获取不到位置信息 Location.getCurrentPositionAsync() 结果无打
    问题描述:reactnative中使用expo-location获取位置信息时,按照官方文档执行案例,获取不到位置结果。Location.requestForegroundPermissionsAsync()执行后可以获取授权状态,但是执行到Location.getCurrentPositionAsync()时不会打印结果。解决方法:给Location.getCurrentPos......
  • Go - Representing Time Zones
    Problem: YouwanttoincludethetimezoneinformationinaTimestruct.Solution: TheTimestructincludesaLocation,whichistherepresentationofthetimezone. Atimezoneisanareathatfollowsastandardtimethatroughlyfollowslongitudebu......
  • centos7 中 用户名和主机名消失,显示-bash-4.2解放方法
     001、问题,centos7中中用户名和主机名消失,显示-bash-4.2,如下:-bash-4.2$ 002、产生原因配置文件丢失或意外删除。 003、解决方法1-bash-4.2$echo"exportPS1='[\u@\h\W]\$'">>~/.bash_profile-bash-4.2$source~/.bash_profile[liujiaxin01@pc1~]$ls[liuj......
  • 堡垒机AccessClient插件在Mac苹果电脑闪退,已解决
    我的配置:Macmini,AppleM2,MacOS版本13.4(22F66)先来总结我的方案:1.安装Python3;2.修改main.scpt并生效;3.看指定输出的日志提示什么;4.最后需要安装MicrosoftRemoteDesktopforMac。最初的解决方案:https://www.zhihu.com/question/435060483改了日志输出位置,查看日志,找不对具......