Хорошо, отвечаю на мой собственный вопрос (точнее, мой сотрудник, спасибо Бет).
В вашей конфигурации для log4net:
конфиг:
<log4net>
<appender name="MemoryAppender" type="log4net.Appender.MemoryAppender" />
<root>
<level value="DEBUG" />
<appender-ref ref="MemoryAppender" />
</root>
</log4net>
В вашем .net коде:
List<string> messages = new List<string>();
Hierarchy hierarchy = LogManager.GetLoggerRepository() as Hierarchy;
MemoryAppender appender = hierarchy.Root.GetAppender("MemoryAppender") as MemoryAppender;
LoggingEvent[] eventList = appender.GetEvents();
foreach (LoggingEvent item in eventList)
messages.Add(item.RenderedMessage);
return messages.ToArray();
Получив массив сообщений, делайте что хотите.
Это не относится, если у вас есть существующий файл журнала и вы хотите найти его.