package debug

import "github.com/vmware/govmomi/vim25/debug"

Index

Functions

func Enabled

func Enabled() bool

Enabled returns whether debugging is enabled or not.

func Flush

func Flush()

Flush dispatches to the current provider's Flush function.

func NewFile

func NewFile(s string) io.WriteCloser

NewFile dispatches to the current provider's NewFile function.

func NewTeeReader

func NewTeeReader(rc io.ReadCloser, w io.Writer) io.ReadCloser

NewTeeReader wraps io.TeeReader and patches through the Close() function.

func Scrub

func Scrub(in []byte) []byte

func SetProvider

func SetProvider(p Provider)

Types

type FileProvider

type FileProvider struct {
	Path string
	// contains filtered or unexported fields
}

FileProvider implements a debugging provider that creates a real file for every call to NewFile. It maintains a list of all files that it creates, such that it can close them when its Flush function is called.

func (*FileProvider) Flush

func (fp *FileProvider) Flush()

func (*FileProvider) NewFile

func (fp *FileProvider) NewFile(p string) io.WriteCloser

type FileWriterCloser

type FileWriterCloser struct {
	// contains filtered or unexported fields
}

func NewFileWriterCloser

func NewFileWriterCloser(f *os.File, p string) *FileWriterCloser

func (*FileWriterCloser) Close

func (fwc *FileWriterCloser) Close() error

func (*FileWriterCloser) Write

func (fwc *FileWriterCloser) Write(p []byte) (n int, err error)

type LogProvider

type LogProvider struct {
}

func (*LogProvider) Flush

func (s *LogProvider) Flush()

func (*LogProvider) NewFile

func (s *LogProvider) NewFile(p string) io.WriteCloser

type LogWriterCloser

type LogWriterCloser struct {
}

func NewLogWriterCloser

func NewLogWriterCloser() *LogWriterCloser

func (*LogWriterCloser) Close

func (lwc *LogWriterCloser) Close() error

func (*LogWriterCloser) Write

func (lwc *LogWriterCloser) Write(p []byte) (n int, err error)

type Provider

type Provider interface {
	NewFile(s string) io.WriteCloser
	Flush()
}

Provider specified the interface types must implement to be used as a debugging sink. Having multiple such sink implementations allows it to be changed externally (for example when running tests).

type ReadCloser

type ReadCloser struct {
	io.Reader
	io.Closer
}

ReadCloser is a struct that satisfies the io.ReadCloser interface

Source Files

debug.go file.go log.go

Version
v0.48.1 (latest)
Published
Feb 11, 2025
Platform
linux/amd64
Imports
6 packages
Last checked
2 months ago

Tools for package owners.