本帖最后由 libertyang 于 2010-04-01 15:57:28 编辑

解决方案 »

  1.   

    启动GetData 项目时,好象是没办法获取log4netTest的配置文件,所以才无法写log
      

  2.   

    你需要在 app.config 里面配置 指定输出目录。
    在<root>
          <level value="DEBUG" />
    下面指定要输出的等级,它有 debug error info 等几个等级 具体的用
    google 一搜索出来了。
      

  3.   

    这些都已经配置好了问题是在 方案log4netTest下测试输出log是正常的
    但在方案GetData中就不行了
      

  4.   

    在不输出的工程AssemblyInfo.cs 加入这一句
    [assembly: log4net.Config.XmlConfigurator()]
      

  5.   

    检查以下2个方面
    1,log4net组件引入是否正确
    2,app.config 配置是否正确。我的app.config部分代码
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
    ...........................
      

  6.   

    App.config如下:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      </configSections>
      <log4net>
        <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="D:\logtest\error.txt"/>
          <param name="datePattern" value ="MM-dd HH:mm"/>
          <param name ="AppendToFile" value ="true"/>
          <param name="MaxSizeRollBackups" value="2" />
          <param name="MaximumFileSize" value="1K" />
          <param name="RollingStyle" value="Size" />
          <param name="StaticLogFileName" value="false" />
          <layout type ="log4net.Layout.PatternLayout">
            <param name ="conversionPattern" value ="%d [%t] %-5p %c [%x] - %m%n"/>
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="ERROR" />
            <param name="LevelMax" value="ERROR" />
          </filter>
        </appender>
        <appender name="InfoFileAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="D:\logtest\_Info.txt"/>
          <param name="datePattern" value ="MM-dd HH:mm"/>
          <param name ="AppendToFile" value ="true"/>
          <param name="MaxSizeRollBackups" value="2" />
          <param name="MaximumFileSize" value="1K" />
          <param name="RollingStyle" value="Size" />
          <param name="StaticLogFileName" value="false" />
          <layout type ="log4net.Layout.PatternLayout">
            <param name ="conversionPattern" value ="%d [%t] %-5p %c [%x] - %m%n"/>
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="INFO" />
            <param name="LevelMax" value="INFO" />
          </filter>
        </appender>
        <root>
          <level value="ERROR"/>
          <appender-ref ref="LogFileAppender"/>
          <level value="Info"/>
          <appender-ref ref="InfoFileAppender"/>
        </root>
      </log4net>
    </configuration>其实偶想知道的是:
    [assembly: log4net.Config.XmlConfigurator(ConfigFile="",Watch = true)]
    configFile 该如何配置?
      

  7.   

    考虑下你写的这个地方。
    <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="INFO" />
            <param name="LevelMax" value="INFO" />
          </filter>在研究一下 log4net不同级别输出的限制情况。
      

  8.   

    [assembly: log4net.Config.XmlConfigurator(ConfigFile="test.log4net", Watch=true)]
    Log4Net 配置
      

  9.   

    这是web的
    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
    如果是.exe的就要把Web.config改成具体的exe的config,如
    MyDemo.FirstProgram.exe.config