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")
    }
    
  • 相关阅读:
    萨卡斯指法
    香港保险
    数据分析,了解行业
    数据分析师
    黑盒测试方法
    web系统的常用功能测试
    linux-磁盘问题
    mysql连表查询
    mysql模糊查询
    MySQL 数据类型
  • 原文地址:https://www.cnblogs.com/enumx/p/12330627.html
Copyright © 2011-2022 走看看