ref/lib/logger: provide an implementation of v23/logger.

MultiPart: 2/3
Change-Id: Idc9f5e90863ee40f336be058d9384b8a44a5f2d3
diff --git a/runtime/factories/roaming/roaming.go b/runtime/factories/roaming/roaming.go
index 9f6c8ef..40d82e0 100644
--- a/runtime/factories/roaming/roaming.go
+++ b/runtime/factories/roaming/roaming.go
@@ -26,6 +26,7 @@
 	"v.io/v23/context"
 	"v.io/v23/rpc"
 
+	"v.io/x/ref/internal/logger"
 	"v.io/x/ref/lib/flags"
 	"v.io/x/ref/lib/security/securityflag"
 	"v.io/x/ref/runtime/internal"
@@ -62,14 +63,14 @@
 		Addrs: rpc.ListenAddrs(lf.Addrs),
 		Proxy: lf.ListenProxy,
 	}
-	reservedDispatcher := debuglib.NewDispatcher(vlog.Log.LogDir, securityflag.NewAuthorizerOrDie())
+	reservedDispatcher := debuglib.NewDispatcher(logger.Manager(logger.Global()).LogDir, securityflag.NewAuthorizerOrDie())
 
 	ac := appcycle.New()
 
 	// Our address is private, so we test for running on GCE and for its
 	// 1:1 NAT configuration.
-	if !internal.HasPublicIP(vlog.Log) {
-		if addr := internal.GCEPublicAddress(vlog.Log); addr != nil {
+	if !internal.HasPublicIP(logger.Global()) {
+		if addr := internal.GCEPublicAddress(logger.Global()); addr != nil {
 			listenSpec.AddressChooser = func(string, []net.Addr) ([]net.Addr, error) {
 				// TODO(cnicolaou): the protocol at least should
 				// be configurable, or maybe there's a RuntimeFactory specific