Про пользу протоколирования написано много, в том числе и мной.
В Sharepoint для протоколирования можно пользоваться стандартным методом
Но этот метод не лишен недостатков. Достаточно глянуть на карту и понять в чем дело
Как видно, в логах невозможно найти сообщение, оставленное нашим логгером.
Чтобы избежать этого неудобства, нужно использовать класс SPDiagnosticsServiceBase. Пример использования есть в статье.
Очень полезная статья может пригодиться при реализации собственного логгера с настройками в Центре Администрирования. Собственно эта статья была использована как один из источников при написании своего логгера.
Во время работы логгера обнаружил неприятную вещь: валилась ошибка
The EXECUTE permission was denied on the object ‘proc_putObject’, database ‘SharePoint_Config’, schema ‘dbo’.
Решение:
Не хватает прав у пользователя, под которым крутится текущий пул веб-приложений, в SQL на выполнение команд.
В Sharepoint для протоколирования можно пользоваться стандартным методом
try { var i = 0; var a = 2 / i; } catch (Exception ex) { SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory("My Category", TraceSeverity.Unexpected, EventSeverity.Error), TraceSeverity.Unexpected, ex.Message, ex.StackTrace); }
Но этот метод не лишен недостатков. Достаточно глянуть на карту и понять в чем дело
Как видно, в логах невозможно найти сообщение, оставленное нашим логгером.
Чтобы избежать этого неудобства, нужно использовать класс SPDiagnosticsServiceBase. Пример использования есть в статье.
Очень полезная статья может пригодиться при реализации собственного логгера с настройками в Центре Администрирования. Собственно эта статья была использована как один из источников при написании своего логгера.
Во время работы логгера обнаружил неприятную вещь: валилась ошибка
The EXECUTE permission was denied on the object ‘proc_putObject’, database ‘SharePoint_Config’, schema ‘dbo’.
Решение:
Не хватает прав у пользователя, под которым крутится текущий пул веб-приложений, в SQL на выполнение команд.
- Открываем "SQL Server Management Studio"
- Находим нашего пользователя в Security/Logins и жмём правую кнопку мыши
- Выбираем меню Properties
- Заходим в User Mapping и выбираем базу, указанную в сообщении об ошибке.
- Выбираем роль "SharePoint_Shell_Access" для нашего пользователя. Жмём ОК
Комментариев нет:
Отправить комментарий