前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >日志与通知 | Golang

日志与通知 | Golang

作者头像
ZGGSONG
发布2022-09-23 11:20:42
4320
发布2022-09-23 11:20:42
举报
文章被收录于专栏:日志日志

日志

紧跟上一篇文章,日志是必然需要有的,Go的 logrus 日志框架星星最多,简单使用了一下,感觉比老早之前写C#下的log4net好用太多,符合直觉多了。logrus golang 标准库日志模块完全兼容,直接使用 log "github.com/sirupsen/logrus" 替换所有日志导入不要太舒服。网上有太多太多关于 logrus 的介绍,仅做个人使用记录。推荐一下

代码语言:javascript
复制
//Log
logger := &lumberjack.Logger{
  Filename:   "./Log/XXXX_Log_" + time.Now().Format("20060102_150405") + ".log",
  MaxSize:    100,  // 日志文件大小,单位是 MB
  MaxBackups: 10,   // 最大过期日志保留个数
  MaxAge:     28,   // 保留过期文件最大时间,单位 天
  Compress:   true, // 是否压缩日志,默认是不压缩。这里设置为true,压缩日志
  LocalTime:  true, // 是否使用本地时间,默认是使用UTC时间
}

log.SetOutput(logger) // logrus 设置日志的输出方式
log.SetFormatter(&log.TextFormatter{
  TimestampFormat: "2006-01-02 15:04:05",
})

Toast通知

Go写主要为了方便,没有了C#的界面,软件长久运行,有效的通知就很有必要,我选择的是 WindowsToast通知方式

这是我使用的是 https://github.com/go-toast/toast/tree/v1 根据仓库的示例代码即可快速运行起来,如下代码仅做记录

代码语言:javascript
复制
func ToastNormal(msg string) {
    notification := toast.Notification{
        AppID:    "Test App",
        Title:    "This is a test...",
        Message:  msg,
        Duration: toast.Short,
    }
    _ = notification.Push()
}

func ToastError(msg, file string) {
    notification := toast.Notification{
        AppID:    "Test App",
        Title:    "Error Warning",
        Message:  msg,
        Duration: toast.Short,
        Audio:    toast.LoopingAlarm,
        Actions: []toast.Action{
            {"protocol", "OPEN", file},//全局参数拿到日志文件
        },
    }
    _ = notification.Push()
}

本文作者:ZGGSONG

本文链接:https://www.zggsong.cn/archives/log_toast_golang.html

版权声明:本站所有未注明转载的文章均为原创,并采用CC BY-NV-SA 4.0授权协议,转载请注明来源

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 日志
  • Toast通知
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档