go-logger v2.0.1发布
go-logger 是golang 的极简日志库
日志打印:调用 Debug(),Info(),Warn(), Error() ,Fatal() 日志级别由低到高 级别概念 功能用法类似java日志工具log4j 或 python的logging
设置日志打印格式:
如: SetFormat(FORMAT_SHORTFILENAME|FORMAT_DATE|FORMAT_TIME)
FORMAT_SHORTFILENAME|FORMAT_DATE|FORMAT_TIME 为默认格式
不调用SetFormat()时,使用默认格式
无其他格式,只打印日志内容 FORMAT_NANO 无格式 长文件名及行数 FORMAT_LONGFILENAME 全路径 短文件名及行数 FORMAT_SHORTFILENAME 如:logging_test.go:10 精确到日期 FORMAT_DATE 如:2023/02/14 精确到秒 FORMAT_TIME 如:01:33:27 精确到微秒 FORMAT_MICROSECNDS
打印结果形如:[DEBUG]2023/02/14 01:33:27 logging_test.go:10: 11111111111111
若需要自定义格式 只需要 SetFormat(FORMAT_NANO) ,既可以去掉原有格式。
日志级别
ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
默认日志级别为ALL,说明:
若设置 INFO 如:SetLevel(INFO) 则 所有 Debug("*********") 不再打印出来 所以调试阶段,常设置为默认级别ALL,或DEBUG,打印出项目中所有日志,包括调试日志 若设置 OFF SetLevel(OFF) 则 所有日志不再打印出来 所以正式环境,常设置为ERROR或以上的日志级别,项目中Debug(),Info(),warn()等日志不再打印出来,具体视实际需求设置
需将日志写入文件时,则要设置日志文件名
使用全局对象log时,直接调用设置方法:
SetRollingDaily() 按日期分割 SetRollingByTime() 可按 小时,天,月 分割日志 SetRollingFile() 指定文件大小分割日志 SetRollingFileLoop() 指定文件大小分割日志,并指定保留最大日志文件数
需要多实例指定不同日志文件时:
log1 := logger.NewLogger() log1.SetRollingDaily("", "logMonitor.log") log12:= logger.NewLogger() log2.SetRollingDaily("", "logBusiness.log")
1. 按日期分割日志文件
log.SetRollingDaily("d://foldTest", "log.txt") 每天按 log_20221015.txt格式 分割 若 log_20221015.txt已经存在,则生成 log_20221015.1.txt ,log_20221015.2.txt等文件 log.SetRollingByTime("d://foldTest", "log.txt",MODE_MONTH) 按月份分割日志,跨月时,保留上月份日志,如: log_202210.txt log_202211.txt log_202212.txt log.SetRollingByTime("d://foldTest", "log.txt",MODE_HOUR) 按小时分割日志, 如: log_2022101506.txt log_2022101507.txt log_2022101508.txt
2. 按文件大小分割日志文件
log.SetRollingFile("d://foldTest", "log.txt", 300, MB) 按文件超过300MB是,按log.1.txt,log.2.txt 格式备份 目录参数可以为空,则默认当前目录。 log.SetRollingFileLoop(`d://foldTest`, "log.txt", 300, MB, 50) 设置日志文件大小最大为300M 日志文件只保留最新的50个
控制台日志设置
全局log:SetConsole(false)控制台不打日志,默认值true 实例log:log.SetConsole(false)控制台不打日志,默认值true
打印日志示例:
//SetRollingFile("", "log.txt", 1000, KB) 设置日志文件信息 //SetRollingFileLoop(``, "log.txt", 300, MB, 50) 设置日志文件大小300M,最多保留50个最近的日志文件 //SetRollingByTime(``, "log.txt", MODE_MONTH) 按月份分割日志 //SetRollingByTime(``, "log.txt", MODE_HOUR) 按小时分割日志 //SetRollingByTime(``, "log.txt", MODE_DAY) 按天分割日志与调用SetRollingDaily("", "log.txt") 作用相同 // SetConsole(false) 控制台打印信息,默认true Debug("11111111") Info("22222222") SetFormat(FORMAT_DATE | FORMAT_SHORTFILENAME) //设置后,下面日志格式只打印日期+短文件信息 Warn("333333333") SetLevel(FATAL) //设置为FATAL后,下面Error()级别小于FATAL,将不打印出来 Error("444444444") Fatal("5555555555") /*获取新的log实例,要求不同日志文件时,使用多实例对象*/ log := NewLogger() /*按日期分割日志文件*/ //log.SetRollingDaily("", "log.txt") /*按日志文件大小分割日志文件*/ // log.SetRollingFile("", "log.txt", 3, MB) /* 设置打印级别 OFF,DEBUG,INFO,WARN,ERROR,FATAL*/ //log.SetLevel(ALL) 默认ALL. /* 日志写入文件时,同时在控制台打印出来,设置为false后将不打印在控制台,默认值true*/ // log.SetConsole(false) log.Debug("aaaaaaaaaaaaa") log.SetFormat(FORMAT_LONGFILENAME) //设置后将打印出文件全部路径信息 log.Info("bbbbbbbbbbbb") log.SetFormat(FORMAT_MICROSECNDS | FORMAT_SHORTFILENAME)//设置日志格式,时间+短文件名 log.Warn("ccccccccccccccc") log.SetLevel(FATAL) //设置为FATAL后,下面Error()级别小于FATAL,将不打印出来 log.Error("dddddddddddd") log.Fatal("eeeeeeeeeeeee")

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
WoTerm v9.27.1发布
根据部份用户的反馈,修复或增加以下功能。 1.工具栏的会话列表定位SSH会话时,增加SFTP的入口。2.修复登录失败时,密码输入框无法弹出问题。3.强化SFTP的多选,使其更符合windows的习惯,也增加其它各项能力如权限修改,重命名、文件移动、记事本编辑等。4.优化管理员权限,增加证书文件的导出私有密钥被泄露的安全性。5.修复终端全局配置保存与读取不一致问题。6.优化选项卡,增加SSH和SFTP的相关联入口。 此前,用户反馈较多的UI问题,预计9.27.2或9.27.3版本会上线皮肤自定义能力,基本能力也就是换个主题色、背景图,先简单点,看看效果。 软件下载地址:http://woterm.com
- 下一篇
IntelliJ IDEA 2023.2 EAP 发布
首个 IntelliJ IDEA 2023.2 EAP 构建现已发布,此版本引入了一种从 IntelliJ Profiler 即时查看性能数据的简单方法、调试反应式应用程序的改进、无缝生成项目共享索引的新解决方案以及一些 UI 改进。 用户体验 在 Windows 和 Linux 的主工具栏中重新设计了hamburger菜单 改进了位于 Windows 和 Linux 主工具栏中的新 UI 中 hamburger菜单的行为。单击菜单图标后,元素现在水平显示在工具栏上方。 此外,现在还有一个选项可以将此菜单变成一个单独的工具栏。 更新了 macOS 上的窗口控件 当使用新 UI 在全屏模式下使用 macOS 时,窗口控件现在显示在主工具栏中,而不是像以前那样显示在浮动栏中。 Profiler In-editor performance hints 此版本引入了 in-editor hints,它提供了一种简单的方法来逐行解释代码的性能并帮助你更快地解决性能问题。 通过此添加,来自 IntelliJ Profiler 的数据直接在编辑器中可视化 —— 执行时间和内存分配数据显示在相应代码行...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能