SharePoint и Log4Net

Конечно, вы можете, что вы не можете сделать, это передать более одной переменной (например, eventHub.$emit('test_emit', true, false), так как $ emit принимает только один дополнительный параметр (это может быть значение или объект, содержащий ассоциации ключ: значение, также известные как полезной нагрузки .

10
задан Nico 22 October 2008 в 16:20
поделиться

4 ответа

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

Однако, если все еще требуется сделать это, это может работать, если Вы добавляете следующее к web.config файлу:

<configuration ...>
  ...
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>
  <log4net configSource="log4Net.config">
  ...
</configuration>

log4net.config файл должен затем смочь жить вместе с Вашим web.config. Как Nat говорит, Вы могли развернуть этот файл как пакет решений.

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

1
ответ дан 4 December 2019 в 01:32
поделиться

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

0
ответ дан 4 December 2019 в 01:32
поделиться

Я реализовал это недавно и придумал решение, которое сработало для меня.

Разверните файл конфигурации log4net в куст 12 и dll log4net в GAC, используя решение с глобальным охватом. Затем в коде вашего приложения явно инициализируйте log4net из местоположения вашего глобального файла. Это позволяет вам регистрировать приемник функций, задания таймера и код веб-приложения.

[assembly: log4net.Config.XmlConfigurator(ConfigFile = 
    @"C:\Program Files\Common Files\Microsoft Shared\" + 
    @"Web Server Extensions\12\CONFIG\log4net.config", Watch = true)]

см. Здесь http://www.codeproject.com/KB/sharepoint/SharepointLog4Net.aspx

9
ответ дан 4 December 2019 в 01:32
поделиться

Я разработал функцию log4net и упаковал ее в файл wsp. Приемник функции добавляет httpmodule в web.config, а httpmodule загружает log4net.config из каталога макетов, когда в модуле http возникает событие запуска приложения.

0
ответ дан 4 December 2019 в 01:32
поделиться
Другие вопросы по тегам:

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