Вы можете создать собственный appender, который открывает файл для записи, а затем закрывает его. Если он попадет в заблокированный файл, он может приостановиться и повторить попытку несколько раз.
В пользовательском приложении можно также открыть файл в режиме общей записи, что позволит нескольким авторам записывать, но это не помешает объединить части строк журнала.
Если вы не пишете много данных, механизм открытия / закрытия, перечисленный выше, вероятно, является вашим лучшим вариантом. Обратите внимание, что из-за постоянного открытия и закрытия файла вы можете заметить заметное снижение производительности, если регистрируете много данных.
Более сложный механизм, но он может обеспечить высокопроизводительный путь ведения журнала: написать службу ведения журнала, которая получает строки журнала через TCP или UDP. Служба будет отвечать за буферизацию данных и их запись на диск. В прошлом мы использовали этот подход (не через Log4Net, а как общее решение) для повышения эффективности записи журналов.