m/p/api: use protobuf.Timestamp in LogEntry

This updates LogEntry to use google.protobuf.Timestamp.
See: issue #129.

Change-Id: I937800aa91e86690da0d06f743e720c2d474ad0a
Reviewed-on: https://review.monogon.dev/c/monogon/+/832
Tested-by: Jenkins CI
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/metropolis/pkg/logtree/leveled_payload.go b/metropolis/pkg/logtree/leveled_payload.go
index a9ba56d..909d88a 100644
--- a/metropolis/pkg/logtree/leveled_payload.go
+++ b/metropolis/pkg/logtree/leveled_payload.go
@@ -22,6 +22,8 @@
 	"strings"
 	"time"
 
+	tpb "google.golang.org/protobuf/types/known/timestamppb"
+
 	apb "source.monogon.dev/metropolis/proto/api"
 )
 
@@ -114,7 +116,7 @@
 func (p *LeveledPayload) Proto() *apb.LogEntry_Leveled {
 	return &apb.LogEntry_Leveled{
 		Lines:     p.Messages(),
-		Timestamp: p.Timestamp().UnixNano(),
+		Timestamp: tpb.New(p.Timestamp()),
 		Severity:  p.Severity().ToProto(),
 		Location:  p.Location(),
 	}
@@ -137,7 +139,7 @@
 	}
 	return &LeveledPayload{
 		messages:  p.Lines,
-		timestamp: time.Unix(0, p.Timestamp),
+		timestamp: p.Timestamp.AsTime(),
 		severity:  severity,
 		file:      file,
 		line:      line,