Я еще долго не делал C ++, но из этой статьи , похоже, что это трюк производительности, чтобы остановить воспроизведение символов для общих заголовков.
Вы можете попробовать / Z7 вставлять информацию в каждый объект, а не создавать PDB, а затем связывать и воссоздавать его с помощью rebase, как в этой статье .
Вы можете изменить Threshold
во время выполнения. Чтобы прекратить запись, установите Off
. Я уже показал, как это работает в этом ответе .
Остановка log4net во время времени выполнения требует изменения его файла конфигурации:
<level value="ALL" />
на
<level value="INFO" />
Если вы не можете изменить файл конфигурации, вам следует определить прокси для log.debug()
:
static public class LogDebugProxy
{
static public bool LogDebug = false;
static public void debug(log4net.ILog log)
{
if (LogDebug)
log.debug();
}
}
Затем замените log.debug()
на LogDebugProxy.debug(log)
во всем вашем проекте.
Теперь вы можете включить / отключить его по доверенности.
Это работает для меня, чтобы прочитать файл журнала log4net
:
string text;
var fileStream = new FileStream(@"C:\logs\yourLogFile.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using (var streamReader = new StreamReader(fileStream, Encoding.UTF8))
{
text = streamReader.ReadToEnd();
MessageBox.Show(this, text);
}