zoukankan      html  css  js  c++  java
  • golang同时输出到控制台和文件

    golang同时输出到控制台和文件

    package main
    
    import (
        "fmt"
        "io"
        "log"
        "os"
    )
    
    func main() {
        fmt.Println("---------------")
        log.Println("------ log printl ----")
        func_log2file()
        func_log2fileAndStdout()
    }
    func func_log2file() {
        //创建日志文件
        f, err := os.OpenFile("test.log", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
        if err != nil {
            log.Fatal(err)
        }
        //完成后,延迟关闭
        defer f.Close()
        // 设置日志输出到文件
        log.SetOutput(f)
        // 写入日志内容
        log.Println("check to make sure it works")
    }
    func func_log2fileAndStdout() {
        //创建日志文件
        f, err := os.OpenFile("test.log", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
        if err != nil {
            log.Fatal(err)
        }
        //完成后,延迟关闭
        defer f.Close()
        // 设置日志输出到文件
        // 定义多个写入器
        writers := []io.Writer{
            f,
            os.Stdout}
        fileAndStdoutWriter := io.MultiWriter(writers...)
        // 创建新的log对象
        logger := log.New(fileAndStdoutWriter, "", log.Ldate|log.Ltime|log.Lshortfile)
        // 使用新的log对象,写入日志内容
        logger.Println("--> logger :  check to make sure it works")
    }
    
  • 相关阅读:
    WordCount结对项目
    第一周作业:一些感想
    第一次作业
    Spring Cloud 微服务实战笔记
    解决jest处理es模块
    领域驱动设计(DDD:Domain-Driven Design)
    测试
    whistle
    日记(2018-11-07)
    ubuntu中使用机密数据Secrets
  • 原文地址:https://www.cnblogs.com/enumx/p/12330627.html
Copyright © 2011-2022 走看看