• Go语言程序记录日志


    许多软件系统运行中需要日志文件。Go语言程序中,输出日志需要使用包"log",编写程序十分简单。

    像Java语言程序,输出日志时,往往需要使用开源的软件包来实现,编写程序稍微复杂一些。


    Go语言的包"log"中,提供了三类借口,分别是Print(一般的log,进程退出代码为0即正常)、Panic(意外的log,进程退出代码为2)和Fatal(致命的log,进程退出代码为1)。


    这里分别给出三个有个log的程序及其运行结果。


    Go语言程序之一(Print):

    // log project main.go
    package main
    
    import (
    	"log"
    )
    
    func main() {
    	no := []int{1, 2}
    
    	log.Print("Print no ", no, "
    ")
    	log.Println("Println no", no)
    	log.Printf("Printf no with item [%d,%d]
    ", no[0], no[1])
    }


    程序运行结果(Print):

    2017/08/11 12:43:38 Print no [1 2]
    2017/08/11 12:43:38 Println no [1 2]
    2017/08/11 12:43:38 Printf no with item [1,2]
    成功: 进程退出代码 0.


    Go语言程序之二(Panic):

    // log3 project main.go
    package main
    
    import (
    	"log"
    )
    
    func main() {
    	no := []int{1, 2}
    
    	log.Panicln("Println no", no)
    }


    程序运行结果(Panic):

    2017/08/11 12:40:07 Println no [1 2]
    panic: Println no [1 2]
    
    
    goroutine 1 [running]:
    log.Panicln(0xc42003ff50, 0x2, 0x2)
    	/usr/local/go/src/log/log.go:344 +0xc0
    main.main()
    	/home/lin/go/src/log3/main.go:11 +0xe3
    错误: 进程退出代码 2.


    Go语言程序之三(Fatal):

    // log2 project main.go
    package main
    
    import (
    	"log"
    )
    
    func main() {
    	no := []int{1, 2}
    
    	log.Fatalln("Println no", no)
    }


    程序运行结果(Fatal):

    2017/08/11 12:37:38 Println no [1 2]
    错误: 进程退出代码 1.

    程序说明:(略)


  • 相关阅读:
    英语面试自我介绍范文(二)
    在PHP中PDO解决中文乱码问题的一些补充
    英文面试自我介绍(一)
    添加XP/2003的网络用户和密码及用户自动登录
    Windows Server 2000/2003/2008错误
    数据库连接字符串大全 (转载)
    flash中特殊字符解析的使用
    创建T100Monitor技术研究过程
    LINQ,SQL查询,LINQ 实现常见SQL查询
    Web.Config 的图形配置及配置项含意
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563549.html
Copyright © 2020-2023  润新知