fix: Use '_' instead of ':' in IPv6 tracefile names
':' is not acceptable on Windows. Reason to choose '_' instead of '.' is to differentiate b/w IPv4 and IPv6 easily, and also '..1' in filename looks weirder than '__1', which would happen with shortened IPv6 addresses. And non-shortened IPv6 addreses are just lots of 0s.
This commit is contained in:
parent
5d59cfaff3
commit
c37291a366
|
@ -624,7 +624,9 @@ void openTraceFile(const NetworkAddress& na, uint64_t rollsize, uint64_t maxLogs
|
|||
if (baseOfBase.empty())
|
||||
baseOfBase = "trace";
|
||||
|
||||
std::string baseName = format("%s.%s.%d", baseOfBase.c_str(), na.ip.toString().c_str(), na.port);
|
||||
std::string ip = na.ip.toString();
|
||||
std::replace(ip.begin(), ip.end(), ':', '_'); // For IPv6, Windows doesn't accept ':' in filenames.
|
||||
std::string baseName = format("%s.%s.%d", baseOfBase.c_str(), ip.c_str(), na.port);
|
||||
g_traceLog.open( directory, baseName, logGroup, format("%lld", time(NULL)), rollsize, maxLogsSize, !g_network->isSimulated() ? na : Optional<NetworkAddress>());
|
||||
|
||||
uncancellable(recurring(&flushTraceFile, FLOW_KNOBS->TRACE_FLUSH_INTERVAL, TaskFlushTrace));
|
||||
|
|
Loading…
Reference in New Issue