前一段时间的项目中用到了beego框架下的logs模块,记录一下使用过程。logs模块官方文档

一、示例

1、控制台输出

//控制台输出
func Console() {log := logs.NewLogger()log.SetLogger(logs.AdapterConsole)//设置打印函数及行号log.EnableFuncCallDepth(true)log.Debug("log1---> my book is bought in the year of ")log.Critical("log1---> oh,crash")
}

2、文件输出

//文件输出
func ToFile() {log := logs.NewLogger()log.SetLogger(logs.AdapterFile, `{"filename":"log2.log","maxlines":1000,"maxsize":1000,"daily":true,"maxdays":10,"color":true}`)//l.SetLogger(logs.AdapterFile, `{"filename":"project.log","level":7,"maxlines":1000,"maxsize":1000,"daily":true,"maxdays":10,"color":true}`)log.EnableFuncCallDepth(true)log.SetLogFuncCallDepth(2)log.Debug("log2---> my book is bought in the year of ")log.Critical("log2---> oh,crash")
}

文件格式说明:

3、控制台和文件同时输出

//控制台,文件同时输出
func consoleAndFile() {log := logs.NewLogger()log.SetLogger(logs.AdapterConsole)log.SetLogger(logs.AdapterFile, `{"filename":"log3-6.log","level":6,"maxlines":1000,"maxsize":1000,"daily":true,"maxdays":10,"color":true}`)log.EnableFuncCallDepth(true)log.SetLogFuncCallDepth(2)//log.Async(1e3)//1-7级别递减,默认是trace,显示当前数字以前的级别,例如:3时,显示【Emergency】【Alert】【Critical】【Error】log.Emergency("log3--->Emergency")log.Alert("log3--->Alert")       //1log.Critical("log3--->Critical") //2log.Error("log3--->Error")       //3log.Warn("log3--->Warning")      //4log.Notice("log3--->Notice")     //5log.Info("log3--->Info")         //6log.Debug("log3--->Debug")       //7log.Trace("log3--->Trace")
}

日志级别说明:
例如:3时,显示【Emergency】【Alert】【Critical】【Error】

4、网络传输

//网络数据
func conn() {log := logs.NewLogger()//udp 传输到本地端口7020//将日志通过tcp的传输方式发送到ip为172.20.36.141,端口为:7020的主机上log.SetLogger(logs.AdapterConn, `{"net":"tcp","addr":"172.20.36.141:7020"}`)log.EnableFuncCallDepth(true)log.SetLogFuncCallDepth(2)log.Emergency("log4--->Emergency")
}

tcp时logs端作为客户端连接远端服务

udp时直传数据:

5、邮件发送

//邮件发送
func smtp() {log := logs.NewLogger()log.SetLogger(logs.AdapterMail, `{"username":"luciferofwg@gmail.com","password":"xxxxxxxxx","host":"imap.gmail.com:993","sendTos":["958730879@qq.com"]}`)log.EnableFuncCallDepth(true)log.SetLogFuncCallDepth(2)log.Emergency("log5--->Emergency")
}

二、小结

1、函数行号打印深度
默认是2,对logs模块封装后可以通过修改该值来改变函数及行号的深度

log.SetLogFuncCallDepth(`深度`)

三、完成代码

完成代码

beego框架-logs模块学习笔记相关推荐

  1. Beego框架logs模块

    目录 logs模块下载 logs使用 输出不显示文件名行号 异步输出日志 自定义日志 logs模块下载 开始我被手册上误导了,试了半天不行,还没发现go get和导包的网址不一样,我试了下导包的就可以 ...

  2. 26Play框架教程2学习笔记

    Play框架教程2学习笔记 文章目录 1 play框架01 1.1 概述 1.2 特性 1.2.1 无缝集成现有开发环境 1.2.2 热重载和修改Bug 1.2.3 简单的无状态MVC架构 1.2.4 ...

  3. python模块学习笔记

    python模块学习笔记 1.Python自动发送邮件smtplib 2.制作二维码图片MyQR 3.绝对值模块math 4.CSV模块 5.openpyxl 模块,操作Excel文件 ExcelMa ...

  4. 机器学习框架ML.NET学习笔记【1】基本概念与系列文章目录

    一.序言 微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本.期间各版本之间差异(包括命名空间.方法等)还是比较大的,随着1.0版发布,应该是趋于稳定了.之前在园子里也看到 ...

  5. 机器学习框架ML.NET学习笔记【5】多元分类之手写数字识别(续)

    一.概述 上一篇文章我们利用ML.NET的多元分类算法实现了一个手写数字识别的例子,这个例子存在一个问题,就是输入的数据是预处理过的,很不直观,这次我们要直接通过图片来进行学习和判断.思路很简单,就是 ...

  6. Arduino模块学习笔记(一)—GPS模块的使用

    Arduino模块学习笔记(一)--GSP模块的使用 文章目录 Arduino模块学习笔记(一)--GSP模块的使用 所需组件 一.模块使用介绍 1.GPS模块(在室内时,一般获取不到位置信息) 2. ...

  7. cma linux 起始地址,CMA模块学习笔记

    CMA模块学习笔记 作者:linuxer 发布于:2017-6-28 18:29 分类:内存管理 前言 本文是近期学习CMA模块的一个学习笔记,方便日后遗忘的时候,回来查询以便迅速恢复上下文. 学习的 ...

  8. 26Play框架教程1学习笔记

    Play框架教程1学习笔记 文章目录 1play教程 第一课 1.1 play是什么 1.2 REST风格是什么 1.3 play的优点和缺点 2 play教程 第二课 2.1 搭建开发环境 2.1. ...

  9. 【Django】创建项目及框架介绍,学习笔记(一)

    [学习教程] 1.Django基础教程:https://code.ziqiangxuetang.com/django/django-tutorial.html 2.Django博客:http://ww ...

最新文章

  1. Struts2_day04--课程介绍_Struts2拦截器概述底层原理_重要的概念
  2. 菜鸟学前端之初入江湖
  3. ConcurrentHashMap 源码分析
  4. 不用写代码,就能训练测试深度学习模型!Uber开源AI工具箱Ludwig
  5. iText制作表格比较好的文章
  6. 从一句SQL得出的启示
  7. 网络安全应急响应事件一
  8. 终极指南:家庭安防监控摄像机安装位置
  9. 4g+uim卡是什么卡_你知道SIM卡是什么吗?
  10. Linux操作系统~什么是虚拟地址?深度剖析进程地址空间
  11. tomcat配置 详解
  12. 云长协助你彻底搞清楚转发与重定向的区别
  13. 软件测试学习心得-6
  14. 云台控制协议VISCA、PELCO-D、PELCO-P
  15. 企业如何强化5s管理制度
  16. div右上角的数字提示
  17. 数据链路层(ARP协议,DNS协议和ICMP协议)
  18. 福昕风腾破解版安装教程
  19. 沈逸康人物介绍沈逸康ABI-company创办人
  20. 离散信号的抽取与内插

热门文章

  1. 30段超实用CSS代码
  2. opengl绘制金字塔
  3. 服务器文件夹怎么用快捷方式打开,文件夹变成快捷方式怎么办 文件夹变成快捷方式解决方法...
  4. android 符号表情显示乱码,android输入框限制输入法中的表情符号
  5. 【Django | 开发】面试招聘网站(增加csv,excel导出企业域账号集成日志管理功能)
  6. 【树莓派】配置树莓派防火墙
  7. vnc远程控制软件中文版,盘点六款好用的vnc远程控制软件中文版
  8. swagger 怎么去掉get delete_听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺
  9. 3.Ubuntu 安装Pinta图片处理工具
  10. 写给不想做OJ题的C++学习者