1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-27 17:28:41 +00:00

Make logging cost free when there is no output target (#12247)

The logging streams now do almost no work when there is no output target for them.

For example, if LL_VERBOSE has no output targets, then `verbosestream << x` will return a StreamProxy with a null target. Any further `<<` operations applied to it will do nothing.
This commit is contained in:
paradust7 2022-05-04 11:55:01 -07:00 committed by GitHub
parent ae7664597e
commit 0704ca0550
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 336 additions and 192 deletions

View file

@ -230,14 +230,14 @@ void Address::setPort(u16 port)
m_port = port;
}
void Address::print(std::ostream *s) const
void Address::print(std::ostream& s) const
{
if (m_addr_family == AF_INET6)
*s << "[" << serializeString() << "]:" << m_port;
s << "[" << serializeString() << "]:" << m_port;
else if (m_addr_family == AF_INET)
*s << serializeString() << ":" << m_port;
s << serializeString() << ":" << m_port;
else
*s << "(undefined)";
s << "(undefined)";
}
bool Address::isLocalhost() const