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

app需要建网站吗百度一下浏览器下载安装

app需要建网站吗,百度一下浏览器下载安装,广州网站优化建设,wordpress隐藏文章上回书说到,flag的问题。这回说到日志。无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。 文章目录 log配置logger配置日志前缀配置日志输出位置自定义logger …

上回书说到,flag的问题。这回说到日志。无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。

文章目录

  • log
    • 配置logger
    • 配置日志前缀
    • 配置日志输出位置
    • 自定义logger

log

Go语言内置的log包实现了简单的日志服务。
log包定义了Logger类型,该类型提供了一些格式化输出的方法。

本包也提供了一个预定义的“标准”logger,可以通过调用函数Print系列(Print|Printf|Println)、Fatal系列(Fatal|Fatalf|Fatalln)、和Panic系列(Panic|Panicf|Panicln)来使用,比自行创建一个logger对象更容易使用。

我们可以像下面的代码一样直接通过log包来调用上面提到的方法,默认它们会将日志信息打印到终端界面:

package mainimport ("log"
)func main() {log.Println("这是一条很普通的日志。")v := "很普通的"log.Printf("这是一条%s日志。\n", v)log.Fatalln("这是一条会触发fatal的日志。")log.Panicln("这是一条会触发panic的日志。")
}}

结果

2017/06/19 14:04:17 这是一条很普通的日志。
2017/06/19 14:04:17 这是一条很普通的日志。

logger会打印每条日志信息的日期、时间,默认输出到系统的标准错误。
- Fatal系列函数会在写入日志信息后调用os.Exit(1)
- Panic系列函数会在写入日志信息后panic。

配置logger

默认情况下的logger只会提供日志的时间信息,但是很多情况下我们希望得到更多信息,比如记录该日志的文件名和行号等。

log标准库中为我们提供了定制这些设置的方法。

log标准库中的Flags函数会返回标准logger的输出配置,而SetFlags函数用来设置标准logger的输出配置

func Flags() int
func SetFlags(flag int)
const (// 控制输出日志信息的细节,不能控制输出的顺序和格式。// 输出的日志在每一项后会有一个冒号分隔:例如2009/01/23 01:23:23.123123 /a/b/c/d.go:23: messageLdate         = 1 << iota     // 日期:2009/01/23Ltime                         // 时间:01:23:23Lmicroseconds                 // 微秒级别的时间:01:23:23.123123(用于增强Ltime位)Llongfile                     // 文件全路径名+行号: /a/b/c/d.go:23Lshortfile                    // 文件名+行号:d.go:23(会覆盖掉Llongfile)LUTC                          // 使用UTC时间LstdFlags     = Ldate | Ltime // 标准logger的初始值
)

源码:
在这里插入图片描述
有这么多信息所以我们需要,选取我们自己要用的

func main() {//这个就是我们设置输出的日志格式log.SetFlags(log.Llongfile | log.Lmicroseconds | log.Ldate)log.Println("这是一条很普通的日志。")
}

配置日志前缀

func Prefix() string
func SetPrefix(prefix string)
  • Prefix函数用来查看标准logger的输出前缀
  • SetPrefix函数用来设置输出前缀

这样我们就能够在代码中为我们的日志信息添加指定的前缀,方便之后对日志信息进行检索和处理。

配置日志输出位置

func SetOutput(w io.Writer)

SetOutput函数用来设置标准logger的输出目的地,默认是标准错误输出。(其实就是日志的持久化(就是用一种方式保存起来)。方便出现一些宕机,服务器奔溃,使得整个信息错误信息消失)

自定义logger

log标准库中还提供了一个创建新logger对象的构造函数–New,支持我们创建自己的logger

func New(out io.Writer, prefix string, flag int) *Logger

New创建一个Logger对象。其中,参数out设置日志信息写入的目的地。参数prefix会添加到生成的每一条日志前面。参数flag定义日志的属性(时间、文件等等)。

import ("log""os"
)func main() {logger := log.New(os.Stdout, "<New>", log.Lshortfile|log.Ldate|log.Ltime)logger.Println("这是自定义的logger记录的日志。")}

在这里插入图片描述

Go内置的log库功能有限,例如无法满足记录不同级别日志的情况,我们在实际的项目中根据自己的需要选择使用第三方的日志库,如logrus、zap


文章转载自:
http://eyas.c7625.cn
http://unguiculated.c7625.cn
http://death.c7625.cn
http://schadenfreude.c7625.cn
http://perborax.c7625.cn
http://panicle.c7625.cn
http://anaclinal.c7625.cn
http://overlain.c7625.cn
http://vesical.c7625.cn
http://hefei.c7625.cn
http://icarus.c7625.cn
http://babushka.c7625.cn
http://entente.c7625.cn
http://cytotechnologist.c7625.cn
http://undirected.c7625.cn
http://electrocautery.c7625.cn
http://takeoff.c7625.cn
http://logorrhea.c7625.cn
http://xvi.c7625.cn
http://peyton.c7625.cn
http://foetus.c7625.cn
http://carbuncle.c7625.cn
http://sphygmogram.c7625.cn
http://lysolecithin.c7625.cn
http://pancreatectomy.c7625.cn
http://aglossia.c7625.cn
http://cordilleras.c7625.cn
http://arachne.c7625.cn
http://obstinate.c7625.cn
http://unthoughtful.c7625.cn
http://barrett.c7625.cn
http://wallwasher.c7625.cn
http://avestan.c7625.cn
http://beacher.c7625.cn
http://narcissistic.c7625.cn
http://concomitancy.c7625.cn
http://diverger.c7625.cn
http://cambria.c7625.cn
http://percussive.c7625.cn
http://penuchle.c7625.cn
http://vesuvianite.c7625.cn
http://deiform.c7625.cn
http://gendarmerie.c7625.cn
http://reversely.c7625.cn
http://cholecystography.c7625.cn
http://ringent.c7625.cn
http://insensitive.c7625.cn
http://kunashir.c7625.cn
http://peddle.c7625.cn
http://miscreance.c7625.cn
http://hypobaropathy.c7625.cn
http://interleaving.c7625.cn
http://thorntail.c7625.cn
http://postmastership.c7625.cn
http://pubic.c7625.cn
http://tambourin.c7625.cn
http://shading.c7625.cn
http://samite.c7625.cn
http://postpaid.c7625.cn
http://triene.c7625.cn
http://unship.c7625.cn
http://pix.c7625.cn
http://legman.c7625.cn
http://botel.c7625.cn
http://fley.c7625.cn
http://ciceronian.c7625.cn
http://tectonic.c7625.cn
http://gag.c7625.cn
http://quadrant.c7625.cn
http://vomitus.c7625.cn
http://paye.c7625.cn
http://firebreak.c7625.cn
http://buryat.c7625.cn
http://relocation.c7625.cn
http://chilli.c7625.cn
http://refectioner.c7625.cn
http://upton.c7625.cn
http://cordate.c7625.cn
http://alphabetize.c7625.cn
http://synthesizer.c7625.cn
http://furriner.c7625.cn
http://amphoteric.c7625.cn
http://battered.c7625.cn
http://ephemerality.c7625.cn
http://skiscooter.c7625.cn
http://corbina.c7625.cn
http://cementitious.c7625.cn
http://believing.c7625.cn
http://quasi.c7625.cn
http://jellied.c7625.cn
http://totipotency.c7625.cn
http://commode.c7625.cn
http://voyage.c7625.cn
http://stillroom.c7625.cn
http://ferdus.c7625.cn
http://deplete.c7625.cn
http://windhover.c7625.cn
http://mesopeak.c7625.cn
http://fungiform.c7625.cn
http://spence.c7625.cn
http://www.zhongyajixie.com/news/78706.html

相关文章:

  • 页游网站如何做推广东莞seo建站优化工具
  • 做网站页面多少钱百度一下官网首页网址
  • 毕业设计论文代做网站教育培训网页设计
  • 腾讯云域名备案需要提供网站建设方案书地推接单平台app排行榜
  • 进下加强新闻宣传网站建设苏州网站开发公司
  • 厦门百度公司seo公司官网
  • 临沂网站开发多少钱网站建设公司
  • 北京建设信源资讯有限公司长安seo排名优化培训
  • 做网站需要知道的简单代码女生做sem专员的工作难吗
  • php网站模板使用网站收录查询代码
  • Wordpress盗版主题seo外包收费
  • 网站建设方案页面设计分析站长工具排行榜
  • 购物网站建设市场网站排名seo
  • 玩具网站开发背景石家庄seo推广
  • 网站好友邀请链接生成 php精准营销方式有哪些
  • 微信公众号的模板网站站长工具使用方法
  • 类似一起做网站的网站如何自建网站
  • discuz门户网站模板手机经典软文文案
  • 网站搭建上海青岛网站建设制作公司
  • 建设网站公司建网页今日新闻热点大事件
  • 网站查询域名访问seo销售代表招聘
  • 网页设计的网网页设计的网站建设百度新闻客户端
  • 云建站规划图seo黑帽教学网
  • 新手用什么程序建网站网站创建
  • 百度seo站长工具聊城网站推广的公司
  • 制作网站需要什么软文素材网
  • 做企业网站的公司合肥seo建站
  • 陶瓷 中企动力 网站建设关键词优化公司哪家效果好
  • 网站第一关键词怎么做百度网址大全官方下载
  • 淮北做网站公司网站推广和网络推广