Как настроить log4net для работы внутри плагина CRM 2011? - PullRequest
4 голосов
/ 01 марта 2012

Я пытаюсь зарегистрировать некоторую информацию в плагине CRM 2011.Я не уверен, как настроить log4net.Где я должен положить файл конфигурации log4net и как ссылаться из плагина?Спасибо!

Ответы [ 2 ]

8 голосов
/ 02 марта 2012

Если вы регистрируете свои плагины в базе данных, у вас есть несколько вариантов:

  1. Программная настройка log4net.Это может быть сделано через API log4net и может управляться объектом конфигурации в crm.
  2. Вставить файл конфигурации log4net в сборку плагина и настроить log4net из потока (как показано ниже в базе плагинов)класс, от которого могут наследоваться другие плагины, которые хотят войти в систему)

    namespace TestPlugins
    {
        public abstract class BaseLoggingPlugin
        {
            protected static readonly ILog _log = LogManager.GetLogger(typeof(BaseLoggingPlugin));
    
            static BaseLoggingPlugin()
            {
                using(var config = Assembly.GetExecutingAssembly().GetManifestResourceStream("TestPlugins.log4net.config"))
                {
                    XmlConfigurator.Configure(config);
                }
            }
        }
    }
    
0 голосов
/ 02 марта 2012

Я хочу добавить предупреждение к любому правильному ответу: если вы регистрируете сборку вашего плагина как сборку песочница (режим песочницы требуется для CRM-онлайн), у вас не будет доступав файловую систему.В этом случае ваш единственный вариант - Tracing .Удачи!

...