func MakeXMPP(target string) (Sender, error) {
	info := GetXMPPConnectionInfo()
	s, err := constructXMPPLogger("", target, info)
	if err != nil {
		return nil, err
	}
	return s, nil
}
MakeXMPP constructs an XMPP logging backend that reads the
hostname, username, and password from environment variables:

- GRIP_XMPP_HOSTNAME
- GRIP_XMPP_USERNAME
- GRIP_XMPP_PASSWORD

The instance is otherwise unconquered. Call SetName or inject it
into a Journaler instance using SetSender before using.
package send
import (
	"context"
	"fmt"
	"log"
	"os"
	"strings"
	xmpp "github.com/mattn/go-xmpp"
	"github.com/mongodb/grip/message"
)
type xmppLogger struct {
	target string
	info   XMPPConnectionInfo
	*Base
}
type XMPPConnectionInfo struct {
	Hostname string
	Username string
	Password string
	client xmppClient
}
const (
	xmppHostEnvVar     = "GRIP_XMPP_HOSTNAME"
	xmppUsernameEnvVar = "GRIP_XMPP_USERNAME"
	xmppPasswordEnvVar = "GRIP_XMPP_PASSWORD"
)
func GetXMPPConnectionInfo() XMPPConnectionInfo {
	return XMPPConnectionInfo{
		Hostname: os.Getenv(xmppHostEnvVar),
		Username: os.Getenv(xmppUsernameEnvVar),
		Password: os.Getenv(xmppPasswordEnvVar),
	}
}
func NewXMPPLogger(name, target string, info XMPPConnectionInfo, l LevelInfo) (Sender, error) {
	s, err := constructXMPPLogger(name, target, info)
	if err != nil {
		return nil, err
	}
	return setup(s, name, l)
}