Фильтры в основном используются в файлах регистратора, которые варьируются в зависимости от используемого вами логгера. Lemme объясняет для log4j2:
<Filters>
<!-- It prevents error -->
<ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
<!-- It prevents debug -->
<ThresholdFilter level="debug" onMatch="DENY" onMismatch="NEUTRAL" />
<!-- It allows all levels except debug/trace -->
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" />
</Filters>
Фильтры используются для ограничения данных, и я использовал пороговый фильтр далее для ограничьте уровни данных в потоке, я упомянул уровни, которые могут быть ограничены там. Для дальнейшего пояснения см. Порядок уровней log4j2 - Log4J Уровни: ALL> TRACE> DEBUG> INFO> WARN> ERROR> FATAL> OFF
MingWin минималистский, и это самый важный аспект. Поскольку это облегчает понимание, в конечном итоге ответственность за написание приложения лежит на разработчике. MingWin только облегчает работу, но не творит волшебство в том, чтобы привязывать приложения nix к окнам.
Как сказал ChrisW, Winsock2 - это порт BSD-сокетов. Какую часть winsock вы пытаетесь использовать, которая отличается от сокетов BSD? (кроме WSAStartup и WSACleanup)
WinSock и WinSock2 имеют имена функций, отличные от BSD Sockets. Если я хочу писать кросс-платформенные приложения, то мне приходится придумывать множество обходных путей, чтобы угодить Microsoft.
Было бы намного проще, если бы существовали специальные файлы "socket.h" и "socket.c", включенные в MinGW, которые просто переводили бы вещи, вызывая соответствующие аналоги WinSock2.
Я только начинаю изучать программирование на C, поэтому не могу сделать это сам, но я удивлен, что до сих пор никто даже не попытался это сделать.