provider/inmemory.go
func InMemoryWithLogging() InMemoryOption {
	return func(p *InMemoryProvider) {
		p.OnApplyChanges = func(changes *plan.Changes) {
			for _, v := range changes.Create {
				log.Infof("CREATE: %v", v)
			}
			for _, v := range changes.UpdateOld {
				log.Infof("UPDATE (old): %v", v)
			}
			for _, v := range changes.UpdateNew {
				log.Infof("UPDATE (new): %v", v)
			}
			for _, v := range changes.Delete {
				log.Infof("DELETE: %v", v)
			}
		}
	}
}
func InMemoryWithLogging() InMemoryOption {
	return func(p *InMemoryProvider) {
		p.OnApplyChanges = func(changes *plan.Changes) {
			for _, v := range changes.Create {
				log.Infof("CREATE: %v", v)
			}
			for _, v := range changes.UpdateOld {
				log.Infof("UPDATE (old): %v", v)
			}
			for _, v := range changes.UpdateNew {
				log.Infof("UPDATE (new): %v", v)
			}
			for _, v := range changes.Delete {
				log.Infof("DELETE: %v", v)
			}
		}
	}
}
func InMemoryWithLogging ( ) InMemoryOption { return func ( p * InMemoryProvider ) { p . OnApplyChanges = func ( changes * plan . Changes ) { for _ , v := range changes . Create { log . Infof ( " " , v ) } for _ , v := range changes . UpdateOld { log . Infof ( " " , v ) } for _ , v := range changes . UpdateNew { log . Infof ( " " , v ) } for _ , v := range changes . Delete { log . Infof ( " " , v ) } } } }
// InMemoryWithLogging injects logging when ApplyChanges is called
InMemoryWithLogging injects logging when ApplyChanges is called