feat(Go-StudyExample):2020/12/17:新增sdk包Logger的使用示例
This commit is contained in:
@@ -0,0 +1,57 @@
|
|||||||
|
/*
|
||||||
|
* @Author : huangzj
|
||||||
|
* @Time : 2020/12/17 10:14
|
||||||
|
* @Description: 参考地址:http://www.topgoer.com/%E5%B8%B8%E7%94%A8%E6%A0%87%E5%87%86%E5%BA%93/log.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
package originGoLanguage
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
//日志的Flag说明:
|
||||||
|
//const (
|
||||||
|
// // 控制输出日志信息的细节,不能控制输出的顺序和格式。
|
||||||
|
// // 输出的日志在每一项后会有一个冒号分隔:例如2009/01/23 01:23:23.123123 /a/b/c/d.go:23: message
|
||||||
|
// Ldate = 1 << iota // 日期:2009/01/23
|
||||||
|
// Ltime // 时间:01:23:23
|
||||||
|
// Lmicroseconds // 微秒级别的时间:01:23:23.123123(用于增强Ltime位)
|
||||||
|
// Llongfile // 文件全路径名+行号: /a/b/c/d.go:23
|
||||||
|
// Lshortfile // 文件名+行号:d.go:23(会覆盖掉Llongfile)
|
||||||
|
// LUTC // 使用UTC时间
|
||||||
|
// LstdFlags = Ldate | Ltime // 标准logger的初始值
|
||||||
|
//)
|
||||||
|
func TestLogOut(t *testing.T) {
|
||||||
|
log.SetFlags(log.Llongfile | log.Lmicroseconds | log.Ldate)
|
||||||
|
log.SetPrefix("[我是日志的前缀]") //配置日志的前缀
|
||||||
|
log.Println("这是一条很普通的日志。")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestLogOutInFile(t *testing.T) {
|
||||||
|
logFile, err := os.OpenFile("test.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("open log file failed, err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.SetOutput(logFile)
|
||||||
|
log.SetPrefix("[我是日志的前缀]") //配置日志的前缀
|
||||||
|
log.SetFlags(log.Llongfile | log.Lmicroseconds | log.Ldate)
|
||||||
|
log.Println("我是一个写到文件中的日志")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNewLogger(t *testing.T) {
|
||||||
|
logger := log.New(os.Stdout, "<自定义Logger对象>", log.Lshortfile|log.Ldate|log.Ltime) //第二个参数是前缀,第三个参数是
|
||||||
|
logger.Println("这是自定义的logger记录的日志。")
|
||||||
|
|
||||||
|
logFile, err := os.OpenFile("test.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("open log file failed, err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.SetOutput(logFile)
|
||||||
|
logger.Println("自定义Logger对象输出到文件")
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
[我是日志的前缀]2020/12/17 10:26:48.074272 F:/Go_BySelf/src/Go-StudyExample/example/originGoLanguage/Log_test.go:43: 我是一个写到文件中的日志
|
||||||
|
<自定义Logger对象>2020/12/17 10:31:51 Log_test.go:56: 自定义Logger对象输出到文件
|
||||||
@@ -27,6 +27,8 @@ json与struct之间转换处理工具使用示例
|
|||||||
|
|
||||||
2020/12/17: 新增cronTab与go cron的定时任务使用示例
|
2020/12/17: 新增cronTab与go cron的定时任务使用示例
|
||||||
|
|
||||||
|
2020/12/17:新增sdk包Logger的使用示例
|
||||||
|
|
||||||
# mod vendor模式加载包
|
# mod vendor模式加载包
|
||||||
通过go mod的方式加载的github上面的包会有报红的问题,但是包本身是可以运行的,这样就是会有一个问题,如果你想要点击去看方法的内容,没办法做到
|
通过go mod的方式加载的github上面的包会有报红的问题,但是包本身是可以运行的,这样就是会有一个问题,如果你想要点击去看方法的内容,没办法做到
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user