BHO里面的Log4net不起作用?

时间:2012-01-26 05:36:50

标签: c# log4net bho ieaddon

我正在尝试将log4net与外部配置文件一起使用,但它不起作用:没有记录任何内容

<?xml version="1.0" encoding="utf-8" ?>
<log4net>   
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
        <file value="C:\\tmp\\test.log" />
        <appendToFile value="true" />
        <maximumFileSize value="100KB" />
        <maxSizeRollBackups value="2" />

        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%level %thread %logger - %message%newline" />
        </layout>
    </appender>

    <root>
         <appender-ref ref="RollingFile" />
    </root>
</log4net>

如果我在Assembly.cs中使用此行,则在使用regasm注册BHO时会创建test.lg,但在插件运行时不会创建:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"C:\\tmp\\test.log4net", Watch = true)]

当我在BHO中使用此代码时,没有日志记录到test.log:

XmlConfigurator.Configure(new System.IO.FileInfo(@"C:\\tmp\\test.log4net"));
log.Info("test");

我不确定我做错了什么。

1 个答案:

答案 0 :(得分:0)

log4net配置文件很好。问题是Internet Explorer在保护模式下运行,禁止BHO写入任意文件夹。 BHO只能写几个文件夹。