logging_initializer.go 548 B

123456789101112131415161718192021222324
  1. package cproxy
  2. type loggingInitializer struct {
  3. logger logger
  4. inner initializer
  5. }
  6. func newLoggingInitializer(config *configuration) initializer {
  7. if !config.LogConnections {
  8. return config.Initializer
  9. }
  10. return &loggingInitializer{inner: config.Initializer, logger: config.Logger}
  11. }
  12. func (this *loggingInitializer) Initialize(client, server Socket) bool {
  13. result := this.inner.Initialize(client, server)
  14. if !result {
  15. this.logger.Printf("Connection failed [%s] -> [%s]", client.RemoteAddr(), server.RemoteAddr())
  16. }
  17. return result
  18. }