func (_d TestInterfaceWithLogrus) NoError(s1 string) (s2 string) {
	_d._log.WithFields(logrus.Fields(map[string]interface{}{
		"s1": s1})).Debug("TestInterfaceWithLogrus: calling NoError")
	defer func() {
		_d._log.WithFields(logrus.Fields(map[string]interface{}{
			"s2": s2})).Debug("TestInterfaceWithLogrus: method NoError finished")
	}()
	return _d._base.NoError(s1)
}
NoError implements TestInterface
package templatestests
import (
	"context"
	"github.com/sirupsen/logrus"
)
type TestInterfaceWithLogrus struct {
	_log  *logrus.Entry
	_base TestInterface
}
func NewTestInterfaceWithLogrus(base TestInterface, log *logrus.Entry) TestInterfaceWithLogrus {
	return TestInterfaceWithLogrus{
		_base: base,
		_log:  log,
	}
}
func (_d TestInterfaceWithLogrus) Channels(chA chan bool, chB chan<- bool, chanC <-chan bool) {
	_d._log.WithFields(logrus.Fields(map[string]interface{}{
		"chA":   chA,
		"chB":   chB,
		"chanC": chanC})).Debug("TestInterfaceWithLogrus: calling Channels")
	defer func() {
		_d._log.Debug("TestInterfaceWithLogrus: Channels finished")
	}()
	_d._base.Channels(chA, chB, chanC)
	return
}
func (_d TestInterfaceWithLogrus) F(ctx context.Context, a1 string, a2 ...string) (result1 string, result2 string, err error) {
	_d._log.WithFields(logrus.Fields(map[string]interface{}{
		"ctx": ctx,
		"a1":  a1,
		"a2":  a2})).Debug("TestInterfaceWithLogrus: calling F")
	defer func() {
		if err != nil {
			_d._log.WithFields(logrus.Fields(map[string]interface{}{
				"result1": result1,
				"result2": result2,
				"err":     err})).Error("TestInterfaceWithLogrus: method F returned an error")
		} else {
			_d._log.WithFields(logrus.Fields(map[string]interface{}{
				"result1": result1,
				"result2": result2,
				"err":     err})).Debug("TestInterfaceWithLogrus: method F finished")
		}
	}()
	return _d._base.F(ctx, a1, a2...)
}