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时候踩过的坑相关推荐

  1. vue mui html不解析,记下Vue中使用Mui.js踩到的坑

    1. mui.js 推荐全局引用 Mui的css,js以及扩展js,推荐在main.js全局引用即可,千万不要再在子组件中重复引用,虽然不会报错 但是某些插件的返回结果会有意向不到的后果,比如numb ...

  2. kotlin能用嵌入式linux,Kotlin在项目中的应用和踩过的坑

    应用 空类型安全 Kotlin引入了可空类型(用?标识),在编译期杜绝了可空类型直接调用方法的可能. var a: String = "abc" a = null // 编译错误 ...

  3. 关于Qtdesigner中图像处理的一些踩过的坑:进程已结束,退出代码 -1073740791 (0xC0000409)

    今天本来想实现的是ui粗略是这个样子的: 就是当我上传图像时,是这个样子: 然后当我点击舌体分割的时候,第二个label可以用第一个label的图像数据,但是我发现Qtlabel中没有类似getPix ...

  4. golang中小数除以大数为0的坑

    某次开发发现一个小数除以大数为0,看代码. package mainimport "fmt"func main() {time := fmt.Sprintf("%.3f& ...

  5. 如何在Golang中返回错误?

    In Golang, we return errors explicitly using the return statement. This contrasts with the exception ...

  6. golang中的http server和http client

    一.golang http server python中创建一个web服务器有python -m http.server golang中创建一个web服务器很简单. golang中有一个叫做http的 ...

  7. Golang中Goroutine与线程

    我们在使用Go语言进行开发时,一般会使用goroutine来处理并发任务.那么大家有没有考虑过goroutine的实现机制是什么样的?很多同学会把goroutine与线程等同起来,但是实际上并不是这样 ...

  8. 记一次golang中sync.Map并发创建、读取的问题

    记一次golang中sync.Map并发创建.读取的问题  cunfate https://www.jianshu.com/p/f472e79909bc 背景: 我们有一个用go做的项目,其中用到了z ...

  9. docker go get问题_创建优化的Go镜像文件以及踩过的坑

    点击上方蓝色"Go语言中文网"关注我们,领全套Go资料,每天学习 Go 语言 本文作者:倚天码农 原文链接:https://segmentfault.com/a/119000002 ...

最新文章

  1. 原来deepin部署环境还是那么简单(只不过要用root权限)
  2. linux下sudo权限管理
  3. 超图桌面版区分不同类型数据源的图标
  4. stm32cubeide ST-LINK_gdbserver _ZTINSt8ios_base7failureB5cxx11E libstdc++.so.6问题解决
  5. 逆推继承看原型 函数的角色 函数声明和函数表达式的区别 函数中this指向的问题
  6. Linux之Keepalived实现服务器集群高可用
  7. layui移动开发_LayUI后台管理与综合示例
  8. Apache OpenOffice-java调用时的问题总结
  9. Cadence PSpice 模型3:从官网或者技术支持得到的PSpice模型与Capture库关联方法图文教程
  10. 计算机械加工工时都需要,机械加工工时(工时定额)计算软件
  11. vue axios的封装大全
  12. 大型公建能耗监管系统
  13. windows下的内存型下载者病毒
  14. 台式计算机风扇一直响,为什么电脑风扇一直响
  15. Node.js抓取网页图片
  16. Containerd shim 原理深入解读
  17. Thread-Specific Data(线程私有数据)
  18. diskgenius软件将分区表类型转换成GUID,提示磁盘的首尾部分没有转换到GUID分区所必须的空间,还需各33个扇区,不能转换成功
  19. OTA前装搭载率逼近50%,哪些供应商正在领跑细分赛道
  20. mariadb galera 故障恢复

热门文章

  1. 解决IE浏览器登陆失败异常!
  2. UVA 1625 Color Length DP
  3. 普林斯顿公开课 算法2-2:选择排序
  4. CentOS 7中iptables服务暂停启动和保存备份
  5. GenericUDTF使用流程记载(转载+自己整理)
  6. ubuntu下面安装Keil uvision4与入门实例
  7. hiveserver或者hive启动出现Expected authority at index 7问题解决
  8. AttributeError: module 'pymongo' has no attribute 'Connection'
  9. DataFrame挑选其中两列,带列名
  10. clion variable set