Skip to content

Commit

Permalink
Merge pull request #50 from mysteriumnetwork/log-trace
Browse files Browse the repository at this point in the history
Log bytecount events on trace level
  • Loading branch information
tadaskay committed Jan 9, 2020
2 parents f04a257 + 467e9da commit 369a763
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 2 deletions.
6 changes: 6 additions & 0 deletions openvpn/log/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ type Logger interface {
Warn(args ...interface{})
Info(args ...interface{})
Debug(args ...interface{})
Trace(args ...interface{})
}

var logger Logger = stdLogger{}
Expand Down Expand Up @@ -57,3 +58,8 @@ func Info(args ...interface{}) {
func Debug(args ...interface{}) {
logger.Debug(args...)
}

// Trace prints trace message.
func Trace(args ...interface{}) {
logger.Trace(args...)
}
7 changes: 7 additions & 0 deletions openvpn/log/stdlog.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,10 @@ func (l stdLogger) Debug(args ...interface{}) {
msg = append(msg, args...)
log.Println(msg...)
}

func (l stdLogger) Trace(args ...interface{}) {
var msg []interface{}
msg = append(msg, "TRACE")
msg = append(msg, args...)
log.Println(msg...)
}
15 changes: 13 additions & 2 deletions openvpn/management/listener.go
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ func (management *Management) consumeOpenvpnConnectionOutput(input io.Reader, ou
close(eventChannel)
return
}
log.Debug(management.logPrefix, "Line received:", line)
management.logEvent("Line received:", line)

output := outputChannel
if strings.HasPrefix(line, ">") {
Expand All @@ -219,7 +219,7 @@ func (management *Management) consumeOpenvpnConnectionOutput(input io.Reader, ou

func (management *Management) deliverOpenvpnManagementEvents(eventChannel chan string) {
for event := range eventChannel {
log.Debug(management.logPrefix, "Line delivering:", event)
management.logEvent("Line delivering:", event)

lineConsumed := false
for _, middleware := range management.middlewares {
Expand All @@ -236,3 +236,14 @@ func (management *Management) deliverOpenvpnManagementEvents(eventChannel chan s
}
log.Info(management.logPrefix, "Event consumer is done")
}

// Change this to slice as needed
var traceLevelEvents = ">BYTECOUNT"

func (management *Management) logEvent(msg, event string) {
if strings.HasPrefix(event, traceLevelEvents) {
log.Trace(management.logPrefix, msg, event)
} else {
log.Debug(management.logPrefix, msg, event)
}
}

0 comments on commit 369a763

Please sign in to comment.