type
status
date
slug
summary
tags
category
icon
password
AI summary
Go语言标准库之log
log
是 Go 语言中用于日志输出和调试的标准库,它提供了简单并强大的日志功能。通过学习 log
包,可以学习如何输出日志,自定义日志格式,和实现高级的日志功能。1. 基础使用
1.1 基础函数
log.Print
:输出日志信息,无自动换行。
log.Println
:输出日志信息,并自动换行。
log.Printf
:格式化输出日志信息。
示例
输出:
2. 错误日志
log
包提供了一系列用于处理错误的方法:2.1 错误函数
log.Fatal
:输出错误信息并退出程序(调用os.Exit(1)
)。
log.Fatalln
:输出错误信息,自动换行,并退出程序。
log.Fatalf
:格式化输出错误信息并退出程序。
log.Panic
:输出错误信息,并触发一个直接上报的异常。
示例
输出:
程序结束。
3. 定制日志格式
3.1 默认格式
默认情况下,日志信息会包含日期和时间。
3.2 自定义格式
可以通过调用
log.SetFlags
和 log.SetPrefix
来自定义格式。常用日志标识符
标识符 | 含义 |
log.Ldate | 输出日期(如 2024/12/24 ) |
log.Ltime | 输出时间(如 14:00:00 ) |
log.Lmicroseconds | 输出小秒精度(如 14:00:00.123456 ) |
log.Llongfile | 输出文件路径和行号 |
log.Lshortfile | 输出短文件名和行号 |
log.LUTC | 日期和时间使用 UTC 时区 |
示例
输出:
4. 自定义输出
log
包允许输出到自定义的目标,通过 log.SetOutput
设置输出流(如文件或缓冲)。示例
在文件
app.log
中记录:5. 优化和高级应用
5.1 自定义 Logger
可以通过创建一个
log.Logger
实例实现高级应用。示例
输出:
6. 作业训练
- 使用默认
log
函数记录一个简单的日志信息,并试图调用log.Fatal
触发错误。
- 通过自定义日志标识符,实现一个格式为
DEBUG: [2024/12/24 14:00:00] message
的日志输出。
- 创建一个日志文件,将一系列的日志信息写入文件,并确保文件内容正确。
- 作者:IT小舟
- 链接:https://www.codezhou.top/article/log
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。