Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Golang logLogger日志对象创建示例_创想鸟

Golang logLogger日志对象创建示例

log.Logger可通过log.New创建,自定义输出目标、前缀和标志。示例:输出到标准输出或文件,使用io.MultiWriter实现多目标输出,结合log.Ldate、log.Ltime等标志控制格式。

golang loglogger日志对象创建示例

在Go语言中,log.Logger标准库 log 提供的一个灵活的日志记录器类型,允许自定义输出目标、前缀和标志。通过创建自定义的 log.Logger 对象,可以更好地控制日志格式和输出位置。

基本结构与创建方式

log.Logger 可以通过 log.New 函数创建,该函数接收三个参数:

io.Writer:指定日志输出位置(如文件、网络、os.Stdout等) prefix string:每条日志前添加的前缀 flag int:控制日志的元信息输出(如时间、文件名、行号等)示例代码:

package mainimport (    "io"    "log"    "os")func main() {    // 创建一个输出到标准输出的日志器    logger := log.New(os.Stdout, "INFO: ", log.Ldate|log.Ltime|log.Lshortfile)        // 使用自定义logger输出日志    logger.Println("程序启动成功")    logger.Printf("当前用户: %s", "alice")}

输出到文件

将日志写入文件是常见需求。只需将文件句柄作为 io.Writer 传入即可。

示例代码:

file, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)if err != nil {    log.Fatal("无法打开日志文件:", err)}defer file.Close()// 创建写入文件的日志器fileLogger := log.New(file, "DEBUG: ", log.LstdFlags|log.Lshortfile)fileLogger.Println("这是一条调试信息")

多目标输出(同时输出到控制台和文件)

使用 io.MultiWriter 可以让日志同时输出到多个目标。

大师兄智慧家政 大师兄智慧家政

58到家打造的AI智能营销工具

大师兄智慧家政 99 查看详情 大师兄智慧家政

立即学习“go语言免费学习笔记(深入)”;

示例代码:

file, _ := os.OpenFile("combined.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)defer file.Close()multiWriter := io.MultiWriter(os.Stdout, file)combinedLogger := log.New(multiWriter, "APP: ", log.LstdFlags|log.Lmicroseconds)combinedLogger.Println("这条日志会同时出现在终端和文件中")

常用日志标志说明

log包提供多个常量用于组合日志格式:

log.Ldate:输出日期,如 2025/04/05 log.Ltime:输出时间,如 14:30:45 log.Lmicroseconds:输出微秒级时间 log.Lshortfile:输出调用文件名和行号 log.LstdFlags:等于 Ldate | Ltime基本上就这些。根据实际场景选择合适的输出目标和格式即可。

以上就是Golang logLogger日志对象创建示例的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1108335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
CSS中transition-timing-function的ease和linear区别
上一篇 2025年12月2日 12:44:43
FastStone录屏技巧
下一篇 2025年12月2日 12:44:49

相关推荐

发表回复

登录后才能评论
关注微信