diff --git a/debug/service/client.go b/debug/service/client.go
new file mode 100644
index 00000000..805a84a3
--- /dev/null
+++ b/debug/service/client.go
@@ -0,0 +1,88 @@
+// Package service provides the service log
+package service
+
+import (
+	"context"
+	"fmt"
+	"time"
+
+	"github.com/micro/go-micro/client"
+
+	"github.com/micro/go-micro/debug/log"
+	pb "github.com/micro/go-micro/debug/service/proto"
+)
+
+// Debug provides debug service client
+type debugClient struct {
+	Client pb.DebugService
+}
+
+// NewClient provides a debug client
+func NewClient(name string) *debugClient {
+	// create default client
+	cli := client.DefaultClient
+
+	return &debugClient{
+		Client: pb.NewDebugService(name, cli),
+	}
+}
+
+// Logs queries the services logs and returns a channel to read the logs from
+func (d *debugClient) Log(since time.Time, count int, stream bool) (log.Stream, error) {
+	req := &pb.LogRequest{}
+	if !since.IsZero() {
+		req.Since = since.Unix()
+	}
+
+	if count > 0 {
+		req.Count = int64(count)
+	}
+
+	// set whether to stream
+	req.Stream = stream
+
+	// get the log stream
+	serverStream, err := d.Client.Log(context.Background(), req)
+	if err != nil {
+		return nil, fmt.Errorf("failed getting log stream: %s", err)
+	}
+
+	lg := &logStream{
+		stream: make(chan log.Record),
+		stop:   make(chan bool),
+	}
+
+	// go stream logs
+	go d.streamLogs(lg, serverStream)
+
+	return lg, nil
+}
+
+func (d *debugClient) streamLogs(lg *logStream, stream pb.Debug_LogService) {
+	defer stream.Close()
+	defer lg.Stop()
+
+	for {
+		resp, err := stream.Recv()
+		if err != nil {
+			break
+		}
+
+		metadata := make(map[string]string)
+		for k, v := range resp.Metadata {
+			metadata[k] = v
+		}
+
+		record := log.Record{
+			Timestamp: time.Unix(resp.Timestamp, 0),
+			Value:     resp.Value,
+			Metadata:  metadata,
+		}
+
+		select {
+		case <-lg.stop:
+			return
+		case lg.stream <- record:
+		}
+	}
+}
diff --git a/debug/service/log.go b/debug/service/log.go
deleted file mode 100644
index 95ad0f3c..00000000
--- a/debug/service/log.go
+++ /dev/null
@@ -1,64 +0,0 @@
-package service
-
-import (
-	"time"
-
-	"github.com/micro/go-micro/debug"
-	"github.com/micro/go-micro/debug/log"
-)
-
-type serviceLog struct {
-	Client *debugClient
-}
-
-// Read reads log entries from the logger
-func (s *serviceLog) Read(opts ...log.ReadOption) ([]log.Record, error) {
-	var options log.ReadOptions
-	for _, o := range opts {
-		o(&options)
-	}
-
-	stream, err := s.Client.Log(options.Since, options.Count, false)
-	if err != nil {
-		return nil, err
-	}
-	defer stream.Stop()
-
-	// stream the records until nothing is left
-	var records []log.Record
-
-	for record := range stream.Chan() {
-		records = append(records, record)
-	}
-
-	return records, nil
-}
-
-// There is no write support
-func (s *serviceLog) Write(r log.Record) error {
-	return nil
-}
-
-// Stream log records
-func (s *serviceLog) Stream() (log.Stream, error) {
-	return s.Client.Log(time.Time{}, 0, true)
-}
-
-// NewLog returns a new log interface
-func NewLog(opts ...log.Option) log.Log {
-	var options log.Options
-	for _, o := range opts {
-		o(&options)
-	}
-
-	name := options.Name
-
-	// set the default name
-	if len(name) == 0 {
-		name = debug.DefaultName
-	}
-
-	return &serviceLog{
-		Client: NewClient(name),
-	}
-}
diff --git a/debug/service/service.go b/debug/service/service.go
index 805a84a3..95ad0f3c 100644
--- a/debug/service/service.go
+++ b/debug/service/service.go
@@ -1,88 +1,64 @@
-// Package service provides the service log
 package service
 
 import (
-	"context"
-	"fmt"
 	"time"
 
-	"github.com/micro/go-micro/client"
-
+	"github.com/micro/go-micro/debug"
 	"github.com/micro/go-micro/debug/log"
-	pb "github.com/micro/go-micro/debug/service/proto"
 )
 
-// Debug provides debug service client
-type debugClient struct {
-	Client pb.DebugService
+type serviceLog struct {
+	Client *debugClient
 }
 
-// NewClient provides a debug client
-func NewClient(name string) *debugClient {
-	// create default client
-	cli := client.DefaultClient
-
-	return &debugClient{
-		Client: pb.NewDebugService(name, cli),
-	}
-}
-
-// Logs queries the services logs and returns a channel to read the logs from
-func (d *debugClient) Log(since time.Time, count int, stream bool) (log.Stream, error) {
-	req := &pb.LogRequest{}
-	if !since.IsZero() {
-		req.Since = since.Unix()
+// Read reads log entries from the logger
+func (s *serviceLog) Read(opts ...log.ReadOption) ([]log.Record, error) {
+	var options log.ReadOptions
+	for _, o := range opts {
+		o(&options)
 	}
 
-	if count > 0 {
-		req.Count = int64(count)
-	}
-
-	// set whether to stream
-	req.Stream = stream
-
-	// get the log stream
-	serverStream, err := d.Client.Log(context.Background(), req)
+	stream, err := s.Client.Log(options.Since, options.Count, false)
 	if err != nil {
-		return nil, fmt.Errorf("failed getting log stream: %s", err)
+		return nil, err
+	}
+	defer stream.Stop()
+
+	// stream the records until nothing is left
+	var records []log.Record
+
+	for record := range stream.Chan() {
+		records = append(records, record)
 	}
 
-	lg := &logStream{
-		stream: make(chan log.Record),
-		stop:   make(chan bool),
-	}
-
-	// go stream logs
-	go d.streamLogs(lg, serverStream)
-
-	return lg, nil
+	return records, nil
 }
 
-func (d *debugClient) streamLogs(lg *logStream, stream pb.Debug_LogService) {
-	defer stream.Close()
-	defer lg.Stop()
+// There is no write support
+func (s *serviceLog) Write(r log.Record) error {
+	return nil
+}
 
-	for {
-		resp, err := stream.Recv()
-		if err != nil {
-			break
-		}
+// Stream log records
+func (s *serviceLog) Stream() (log.Stream, error) {
+	return s.Client.Log(time.Time{}, 0, true)
+}
 
-		metadata := make(map[string]string)
-		for k, v := range resp.Metadata {
-			metadata[k] = v
-		}
+// NewLog returns a new log interface
+func NewLog(opts ...log.Option) log.Log {
+	var options log.Options
+	for _, o := range opts {
+		o(&options)
+	}
 
-		record := log.Record{
-			Timestamp: time.Unix(resp.Timestamp, 0),
-			Value:     resp.Value,
-			Metadata:  metadata,
-		}
+	name := options.Name
 
-		select {
-		case <-lg.stop:
-			return
-		case lg.stream <- record:
-		}
+	// set the default name
+	if len(name) == 0 {
+		name = debug.DefaultName
+	}
+
+	return &serviceLog{
+		Client: NewClient(name),
 	}
 }