zoukankan      html  css  js  c++  java
  • 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.

    程序说明:(略)


  • 相关阅读:
    错题集知识(持续更新)
    Java 初始化过程
    java基础自定义测试异常类
    1049 数列的片段和 (20 分)
    1044 火星数字 (20 分)
    1048 数字加密(20分)
    js 全选反选和全不选
    robust programmings
    gdb define command
    好久没有破解别人的无线了, 重温一下
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563549.html
Copyright © 2011-2022 走看看