2012-03-01 46 views

回答

8

假设您注册您的插件数据库,你有几个选择:

  1. 配置log4net的编程。这可以通过log4net API完成,并且可以由crm中的配置实体驱动。
  2. 嵌入在插件组装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

我使用第二种方法 - 嵌入配置文件进入程序集。它像一个魅力工作 - 谢谢你! – user1201405 2012-03-05 06:26:13

+0

对我来说也是第二种方法! :)我会给+25,如果我可以:) – 2013-03-06 15:46:46

+0

@GregOks我想要做同样的事情,但我是新的log4net,无法找到详细的一步一步的答案。如果你可以提供一些说明或演示插件项目。我会非常感谢你。谢谢 – 2014-04-11 06:19:32

0

我要配置log4net的在正确答案结束时添加警告: 如果您将插件程序集注册为沙盒程序集(CRM联机需要沙盒模式),则无法访问文件系统。在这种情况下,您唯一的选择是Tracing。祝你好运!

+0

公平点@ BenPatterson1,即使您在沙箱外运行,也需要确保应用程序池用户有权访问要写入日志文件的目录。 – 2012-03-02 18:04:10

相关问题