golang中创建logger时候踩过的坑
golang中创建logger时候踩过的坑
- 错误的代码
package mainimport ("fmt""io""log""os"
)var logger *log.Loggerfunc init(){fmt.Println("创建日记录日志文件")f,err:=os.OpenFile("./Log.log",os.O_WRONLY|os.O_CREATE|os.O_APPEND,0644)if err!=nil{log.Fatal("os.OpenFile err",err)}defer f.Close()writers := []io.Writer{f,os.Stdout}//实例化Writer接口fileAndStdoutWriter := io.MultiWriter(writers...)//MultiWriter创建一个Writer接口,会将提供给其的数据写入所有创建时提供的Writer接口logger = log.New(fileAndStdoutWriter, "", log.Ldate|log.Ltime|log.Lshortfile)logger.Println("---> logger:check to make sure is works")
}func main(){logger.Println("注意,这里是不会打印和写入文件的")
}
出现的错误
- 在main函数里面logger.Println()不能打印到控制台,也不能写入文件
错误原因
defer f.Close() //在init函数执行完毕时,关闭文件f,使文件不能用于读写
转载于:https://www.cnblogs.com/MyUniverse/p/11470489.html
golang中创建logger时候踩过的坑相关推荐
- vue mui html不解析,记下Vue中使用Mui.js踩到的坑
1. mui.js 推荐全局引用 Mui的css,js以及扩展js,推荐在main.js全局引用即可,千万不要再在子组件中重复引用,虽然不会报错 但是某些插件的返回结果会有意向不到的后果,比如numb ...
- kotlin能用嵌入式linux,Kotlin在项目中的应用和踩过的坑
应用 空类型安全 Kotlin引入了可空类型(用?标识),在编译期杜绝了可空类型直接调用方法的可能. var a: String = "abc" a = null // 编译错误 ...
- 关于Qtdesigner中图像处理的一些踩过的坑:进程已结束,退出代码 -1073740791 (0xC0000409)
今天本来想实现的是ui粗略是这个样子的: 就是当我上传图像时,是这个样子: 然后当我点击舌体分割的时候,第二个label可以用第一个label的图像数据,但是我发现Qtlabel中没有类似getPix ...
- golang中小数除以大数为0的坑
某次开发发现一个小数除以大数为0,看代码. package mainimport "fmt"func main() {time := fmt.Sprintf("%.3f& ...
- 如何在Golang中返回错误?
In Golang, we return errors explicitly using the return statement. This contrasts with the exception ...
- golang中的http server和http client
一.golang http server python中创建一个web服务器有python -m http.server golang中创建一个web服务器很简单. golang中有一个叫做http的 ...
- Golang中Goroutine与线程
我们在使用Go语言进行开发时,一般会使用goroutine来处理并发任务.那么大家有没有考虑过goroutine的实现机制是什么样的?很多同学会把goroutine与线程等同起来,但是实际上并不是这样 ...
- 记一次golang中sync.Map并发创建、读取的问题
记一次golang中sync.Map并发创建.读取的问题 cunfate https://www.jianshu.com/p/f472e79909bc 背景: 我们有一个用go做的项目,其中用到了z ...
- docker go get问题_创建优化的Go镜像文件以及踩过的坑
点击上方蓝色"Go语言中文网"关注我们,领全套Go资料,每天学习 Go 语言 本文作者:倚天码农 原文链接:https://segmentfault.com/a/119000002 ...
最新文章
- 重磅!OpenMMLab 更新啦!分类/检测/分割/3D等项目全面升级
- Android新手系列教程(申明:来源于网络)
- 矩阵分解 java_使用矩阵分解为推荐系统
- 工作总结4:拦截器的使用
- RabbitMq队列 queue
- MVC系列学习(十五)-验证码
- 【LeetCode】Sum Root to Leaf Numbers
- java通过各种类型驱动连接数据库
- Linux下搭建Haproxy负载均衡
- JAVA映射文件到内存,java之内存映射文件
- c51单片机小车c语言,用51单片机编写的智能小车全程前进的C程序
- 苹果手机屏幕助手_同时适用于安卓和苹果的手机助手工具--Anvsoft Syncios
- 【诊断数据库文件-CDD】创建速成班-北汇信息小课堂(二)
- mysql5.7从锁表吗_5分钟了解MySQL5.7的Online DDL雷区
- ftl不存在为真_判断一件书法作品是否具备收藏价值可以归纳为四个字:真、优、高、古。...
- Android开发者进退两难的出路;转行还是进阶?转行转什么最好
- 智能文档控制——文档的智能归档、捕获、索引、访问和协作
- Java中Set接口
- Java安全(十三) SSM-Spring框架
- unity3d android jar,c# – 访问unity3d中的android jar