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

可以做网站一般的电脑培训班要多少钱

可以做网站,一般的电脑培训班要多少钱,毕业设计和论文网站,wordpress的文要登录才能看上一篇文章讲解了 log/slog 包中的自定义日志属性字段和日志级别,本文讲解下分组、上下文和属性值类型 分组输出 slog 支持将字段放在组中并且可以给分组指定名称。如何展示分组的内容,取决于使用的 handler,例如 TextHandler 使用点号分隔…

上一篇文章讲解了 log/slog 包中的自定义日志属性字段和日志级别,本文讲解下分组、上下文和属性值类型

分组输出

slog 支持将字段放在组中并且可以给分组指定名称。如何展示分组的内容,取决于使用的 handler,例如 TextHandler 使用点号分隔组名和属性,JSONHandler 将每个组视为单独的 JSON 对象,并以组名作为键。分别看下 TextHandler 和 JSONHandler 的示例。

TextHandler:

package mainimport ("log/slog""os"
)func main() {h := slog.NewTextHandler(os.Stdout, nil)logger := slog.New(h)logger = logger.WithGroup("request")logger.Info("路多辛的博客", "method", "post", "url", "xxx.com/post")
}

输出内容如下:

time=2023-09-24T18:17:45.642+08:00 level=INFO msg=路多辛的博客 request.method=post request.url=xxx.com/post

JSONHandler:

package mainimport ("log/slog""os"
)func main() {h := slog.NewJSONHandler(os.Stdout, nil)logger := slog.New(h)logger = logger.WithGroup("request")logger.Info("路多辛的博客", "method", "post", "url", "xxx.com/post")
}

输出内容如下:

{"time":"2023-09-24T18:19:39.025697+08:00","level":"INFO","msg":"路多辛的博客","request":{"method":"post","url":"xxx.com/post"}}

上下文(contexts)支持

一些 handler 或者自定义的 handlers 可能希望得到包含上下文(context.Context)的信息,例如链路追踪的场景,需要从上下文中获取到当前的 span 信息。slog 包提供了对这种场景的支持,Logger.log 和 Logger.LogAttrs 方法将 context.Context 类型的参数作为第一个参数,还有记录几种级别日志的方法,都同时提供了带上下文的方法,对应的方法就是后面跟上 Context。简单示例如下:

package mainimport ("context""log/slog"
)func main() {slog.InfoContext(context.Background(), "路多辛的博客")
}

属性和值

属性是一个键值对,日志输出方法接受交替出现的属性和值,例如:

package mainimport ("log/slog"
)func main() {slog.Info("路多辛的博客", "count", 3)
}

也可写为如下形式:

package mainimport ("log/slog"
)func main() {slog.Info("路多辛的博客", slog.Int("count", 3))
}

这里的 slog.Int 返回一个 slog.Attr 类型的值,slog.Attr 用来表示一个键值对。 slog 还提供了生成其他类型的键值对的函数,例如 float、string 和 Bool 等,属性的值是 slog.Value 类型,像 any 一样,Value 可以保存任何值。要获得最高效的日志输出,可以使用 Logger.LogAttrs,只接受 slog.Attr 类型的日志内容,不接受键值交替出现的值。例如:

package mainimport ("context""log/slog""os"
)func main() {h := slog.NewTextHandler(os.Stdout, nil)logger := slog.New(h)logger = logger.WithGroup("request")logger.LogAttrs(context.Background(), slog.LevelInfo, "路多辛的博客", slog.Int("count", 3))
}

输出效果和如下的代码是一样的:

package mainimport ("log/slog"
)func main() {slog.Info("路多辛的博客", "count", 3)
}

http://www.hkea.cn/news/361142/

相关文章:

  • 网站建设背景怎么写一个企业该如何进行网络营销
  • 为女朋友做的表白网站百度大数据分析工具
  • 上海高端网站建设服务公seo推广公司
  • 找人合伙做网站平台仿站定制模板建站
  • 深圳市网站建设科技公司腾讯网网站网址
  • wordpress语言文件夹seo销售好做吗
  • 河北建设集团官网西安网站seo
  • 在外汇局网站做登记报告恢复原来的百度
  • 做外贸做的很好的网站全国疫情突然又严重了
  • 开发app需要什么样的团队百度seo优化培训
  • ftp上传网站之后软文什么意思范例
  • 询广西南宁网站运营推广系统
  • wordpress侧边栏小工具佛山网站优化
  • 用vs做网站原型企业培训课程有哪些内容
  • wordpress评论自定义百度刷排名seo
  • 四川建设网官网登录入口泉州seo外包
  • 网站有备案 去掉备案网络营销意思
  • 新建网站推广给企业百度问一问在线咨询客服
  • 曹鹏wordpress建站seo视频广东疫情防控措施
  • 网站开发的岗位排名优化工具
  • 岳阳做网站怎么做推广让别人主动加我
  • 不断改进网站建设公司百度官网优化
  • 万户网站宁波网站制作优化服务
  • 潍坊快速网站排名网站是怎么做出来的
  • 聚美优品的pc网站建设注册网址
  • 陕西省住房与城乡建设厅网站免费b站推广软件
  • 淮南市住房与城乡建设部网站网店买卖有哪些平台
  • 网页qq表情佛山百度快速排名优化
  • 网站建设方案论文1500社会新闻最新消息
  • 网站组建 需求分析市场监督管理局职责