From 8a0a460089d3ee1a2e1b69991da546034531f8de Mon Sep 17 00:00:00 2001 From: xengineering Date: Sat, 1 Jul 2023 20:25:26 +0200 Subject: Add log module based XML logging with prefix The prefix is re-implemented with this commit to distinguish between RX and TX XML. Furthermore the logging is now based on the log module to have the same (e.g. timestamp) prefix as other log messages. --- xmpp/encoder_decoder.go | 7 ++++--- xmpp/log.go | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 xmpp/log.go diff --git a/xmpp/encoder_decoder.go b/xmpp/encoder_decoder.go index e7eeaf8..f6958be 100644 --- a/xmpp/encoder_decoder.go +++ b/xmpp/encoder_decoder.go @@ -5,7 +5,6 @@ import ( "errors" "io" "log" - "os" ) type encoderDecoder struct { @@ -20,11 +19,13 @@ func newEncoderDecoder(s *session) encoderDecoder { ed.session = s - w := io.MultiWriter(s.transport, os.Stdout) + lw := logger{"TX: "} + w := io.MultiWriter(s.transport, lw) ed.tx = xml.NewEncoder(w) ed.tx.Indent("", " ") - r := io.TeeReader(s.transport, os.Stdout) + lr := logger{"RX: "} + r := io.TeeReader(s.transport, lr) ed.rx = xml.NewDecoder(r) return ed diff --git a/xmpp/log.go b/xmpp/log.go new file mode 100644 index 0000000..4ac0f88 --- /dev/null +++ b/xmpp/log.go @@ -0,0 +1,15 @@ +package xmpp + +import ( + "log" +) + +type logger struct { + prefix string +} + +func (l logger) Write(p []byte) (n int, err error) { + log.Printf("%s%s", l.prefix, string(p)) + + return len(p), nil +} -- cgit v1.2.3-70-g09d2