Skip to content

Latest commit

 

History

History
46 lines (37 loc) · 1.06 KB

readme.md

File metadata and controls

46 lines (37 loc) · 1.06 KB

LogAdapter

This repo is a adapter to the package nuveo/log that uses Golang's standard log instead of fmt package to write into stdout. This is useful for testing if a application logged something by setting the log to a buffer.

package main

import (
    "bytes"
    "fmt"
    "io"
    "os"
    "testing"
    l "log"

    "github.com/nuveo/log"
    la "github.com/arxdsilva/logAdapter"
)

func readByte() {
     // force an error
    err := io.EOF
    if err != nil {
        log.Println("Couldn't read first byte")
    }
}

func TestReadByte(t *testing.T) {
    // remove std adapter 
    // this prevents double logging
    log.RemoveAdapter("stdout")
    log.AddAdapter("adapter", log.AdapterPod{Adapter:la.LogAdapter, Config: nil})
    var buf bytes.Buffer
    l.SetOutput(&buf)
    defer func() {
        l.SetOutput(os.Stderr)
    }()
    readByte()
    // do something with the logs
    t.Log(buf.String())
}