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")
    }
    
  • 相关阅读:
    架构设计的UML图形思考
    SymmetricDS文档翻译--【Chapter 3. 具体配置(Configuration)[section C]】
    LeetCodeOJ. String to Integer (atoi)
    jquery05 继承
    jquery 04
    jquery constructor(null)
    jquery js解析函数、函数直接调用
    jquery init 关系
    jquery constructor
    jQuery03
  • 原文地址:https://www.cnblogs.com/enumx/p/12330627.html
Copyright © 2011-2022 走看看