Skip to content

arxdsilva/logAdapter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

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())
}

Releases

No releases published

Packages

No packages published

Languages