首页 新闻 会员 周边

.net写的Com组件用log4net记录异常日志,为何记录不了!

0
悬赏园豆:30 [待解决问题]

原先有windows service用log4net记录异常的经验,最近用.net写了com组件,使用log4net记录异常日志!不知为何记录不了
首先引用了log4net.dll
添加了配置文件:log4net.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    </configSections>

    <log4net>
        <root>
            <level value="ALL" />
        </root>

        <!-- 服务错误日志 -->
        <logger name="ErrorLog">
            <level value="INFO" />
            <appender-ref ref="ErrorLog" />
        </logger>
        <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender,log4net" >
            <param name="File" value="Logs\\Error\\" />
            <param name="AppendToFile" value="true" />
            <param name="RollingStyle" value="Date" />
            <param name="DatePattern" value="yyyy-MM\\&quot;ServiceError-&quot;yyyy-MM-dd&quot;.txt&quot;" />
            <param name="StaticLogFileName" value="false" />
            <layout type="log4net.Layout.PatternLayout,log4net">
                <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} %m%n" />
            </layout>
        </appender>

    </log4net>
</configuration>

代码:

 //记录log信息
                        ILog log = LogManager.GetLogger("ErrorLog");
                        log.Info( "错误信息:" + errors);
问题补充:

没人碰到过类似应用么 都怎么解决的 跪谢!

我从草原来的主页 我从草原来 | 初学一级 | 园豆:51
提问于:2013-06-09 13:43
< >
分享
所有回答(4)
0

试试

   log.Error( "错误信息:" + errors);
WuRang | 园豆:1730 (小虾三级) | 2013-06-09 13:46

还是不行 我记录的就是 一般性信息

支持(0) 反对(0) 我从草原来 | 园豆:51 (初学一级) | 2013-06-09 14:06

@我从草原来: winform or wpf?

支持(0) 反对(0) WuRang | 园豆:1730 (小虾三级) | 2013-06-09 14:13

@WuRang: 是.net写的一个类库 注册成的com+组件。

支持(0) 反对(0) 我从草原来 | 园豆:51 (初学一级) | 2013-06-09 14:16

@WuRang: 注册组件时只引用了我写的类库的dll,我将log4net.dll和log4net.config都放到引用dll同目录下,这样做没问题吧?我怀疑就是没有走,可是这个组件是一直运行着呢,也操作成功过!

支持(0) 反对(0) 我从草原来 | 园豆:51 (初学一级) | 2013-06-09 14:23

@我从草原来: 做dll的时候直接把log4net.dll和log4net.config 写进去啊,为什么要分开呢

支持(0) 反对(0) WuRang | 园豆:1730 (小虾三级) | 2013-06-09 14:31

@WuRang: 嗯 是啊 做的时候就是一起编译的,不然代码中也不可能写记录日志代码,只是我注册组件时只用到dll,因此log4net相关配置文件就放到被引用dll同目录下。因为头一回做com组件。因此不知道这么做是否可行

支持(0) 反对(0) 我从草原来 | 园豆:51 (初学一级) | 2013-06-09 14:39

@我从草原来: 不是,注册组件可以把整个项目注册进去啊,包括配置文件http://www.cnblogs.com/Real_Dream/articles/1577938.html

支持(0) 反对(0) WuRang | 园豆:1730 (小虾三级) | 2013-06-09 14:42

@我从草原来: 还有,是单独做一个执行程序,看看能运行不

支持(0) 反对(0) WuRang | 园豆:1730 (小虾三级) | 2013-06-09 14:44

将整个项目注册进去???

支持(0) 反对(0) 我从草原来 | 园豆:51 (初学一级) | 2013-06-09 15:02

@我从草原来: 是啊,一般都是建一个类库,然后在里面把配置什么的都加进去,然后注册com

支持(0) 反对(0) WuRang | 园豆:1730 (小虾三级) | 2013-06-09 15:04

@WuRang: 嗯 我是这么做的 但是注册时只用dll

支持(0) 反对(0) 我从草原来 | 园豆:51 (初学一级) | 2013-06-09 15:06
0

为啥不能webserivce的方式代替com组件!

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-06-09 14:52

组件用来操作powershell命令

支持(0) 反对(0) 我从草原来 | 园豆:51 (初学一级) | 2013-06-09 15:00

com组件的方式记录日志,我这种方式有问题么?

支持(0) 反对(0) 我从草原来 | 园豆:51 (初学一级) | 2013-06-09 15:09
0

自己解决了 在服务器sysytem32目录下添加log4net配置文件就可以了

我从草原来 | 园豆:51 (初学一级) | 2013-06-13 11:13
0

右键“log4net.config”——>“选始终复制”

公羊天纵 | 园豆:203 (菜鸟二级) | 2014-10-17 14:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册