A log message (the string/format passed to Info
, Error
, Debug
etc, as well as their Sprintf
counterparts) should
be a descriptive message about the event and may contain specific identifying characteristics. Regardless of the
level of detail in the message identifying characteristics should always be included via WithField
, WithFields
or
WithError
If an error is being logged use l.WithError(err)
so that there is better discoverability about the event as well
as the specific error condition.
cert
- a cert.NebulaCertificate
object, do not .String()
this manually, logrus
will marshal objects properly
for the formatter it is using.fingerprint
- a single NebeulaCertificate
hex encoded fingerprintfingerprints
- an array of NebulaCertificate
hex encoded fingerprintsfwPacket
- a FirewallPacket objecthandshake
- an object containing:
stage
- the current stage counterstyle
- noise handshake style ix_psk0
, xx
, etcheader
- a nebula header objectudpAddr
- a net.UDPAddr
objectudpIp
- a udp ip addressvpnIp
- vpn ip of the host (remote or local)relay
- the vpnIp of the relay host that is or should be handling the relay packetrelayFrom
- The vpnIp of the initial sender of the relayed packetrelayTo
- The vpnIp of the final destination of a relayed packetl.WithError(err).
WithField("vpnIp", IntIp(hostinfo.hostId)).
WithField("udpAddr", addr).
WithField("handshake", m{"stage": 1, "style": "ix"}).
WithField("cert", remoteCert).
Info("Invalid certificate from host")