Почему дата добавляется дважды на именах файлов при использовании Log4Net?

Чего не хватает в вашей настройке, так это высоты промежуточного контейнера между телом и макетом. Контейнер, в котором вы визуализируете ваше приложение реакции: #root.

Добавление 100% высоты устраняет проблему:

const Style = createGlobalStyle`
  body, html {
    height: 100%;
    background: green;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
  }
  #root { //<-- this thingie
    height: 100%;
  }
`;

Вот обновленная песочница: https://codesandbox.io/s/xrw84wkw54

21
задан Philipp M 15 October 2013 в 12:50
поделиться

5 ответов

Это - проблема разрешения. По крайней мере это - то, что происходит со мной.

я являюсь новым в использовании Log4Net, таким образом, я не знал, что это имеет внутренний вход, но я нашел его так, я пытался повернуться внутренний вход на. Я не был очень уверен, что это говорит, но здесь - то, на что это похоже мне, это делает: 1. Добавьте дату к имени файла. 2. Попытайтесь получить доступ к файлу для записи в (отказавший). 3. Добавьте дату к имени файла снова . 4. Успешно получите доступ к файлу (который имеет странное имя файла теперь)

, Прежде чем я буду знать это, я был лугом Google для решения этой проблемы с ключевыми словами как то, что я имею как заголовок по этому stackoverflow вопросу. Там не было так большой информации. Я нашел, возможно, одного парня, который сказал, что это происходит с некоторыми людьми, но никогда действительно объяснило почему, ни решение. С этой новой информацией (+the внутреннее сообщение об ошибке от Log4Net), я смотрел на различные потоки от поисковых систем. С этим я нашел подсказки, что это могла бы быть проблема разрешения.

кажется, что приложение записи не имеет достаточных полномочий к папке журналов. Идентификационными данными по умолчанию приложения обычно является NETWORK_SERVICE. После того, как я даю больше разрешения (я дал ему полный контроль, но я не знаю то, что является минимумом, чтобы заставить его работать) к папке, оно работает просто великолепно.

, Если кто-либо может объяснить это лучше, чем я, не стесняйтесь редактировать.

6
ответ дан 29 November 2019 в 21:50
поделиться

Это происходит, если существует проблема, получающая доступ к файлу журнала при инициализации системы журнала. Это может произойти при инициализации системы журнала дважды если Вы запускаете свою программу, в то время как другая копия работает и пишет в файл журнала, или если Вы редактируете файл журнала в текстовом редакторе. В основном что-либо, что вызывает запись, соединяет файл журнала, когда log4net init работает.

Проверьте свой код на дублирующиеся вызовы к log4net init - возможно, Вы инициализируете в конструкторе вместо в статическом конструкторе одиночного элемента или глобальном init, например.

Это может также произойти, если Вы выполняете в 'веб-саду' конфигурацию и не включаете PID в имя файла, потому что каждый различный процесс веб-сервера пытается записать в тот же файл. При использовании веб-садов и записи в файлы, добавьте pid к шаблону имени файла, таким образом, каждый серверный процесс получает свой собственный файл.

11
ответ дан 29 November 2019 в 21:50
поделиться

Как olle указанный. Ваша проблема связана с '\g', который Ваш log4net интерпретирует как другой dateformat. Попытайтесь удалить ".yyyy-MM-dd.lo\g" и заменить его "yyyy-MM-dd"

, ".log" не принадлежит dateformat

1
ответ дан 29 November 2019 в 21:50
поделиться

Я использую следующее:

<param name="DatePattern" value="yyyy.MM.dd.\l\o\g"/>

С этим я получаю имена файлов как: 2009.02.23.log

1
ответ дан 29 November 2019 в 21:50
поделиться

попробуйте <datePattern value=".yyyy-MM-dd.lo\g" />, я не понимаю то, для чего \g.

0
ответ дан 29 November 2019 в 21:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: