首页 新闻 会员 周边

log4net写入不了 求解

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

我是用在类库项目上的 

首先看app.config配置内容

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" value="log/" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n%r %p[%d] %m%n" />
      </layout>
    </appender>
    <root>
      <level value="ALL" />
      <appender-ref ref="rollingFile" />
    </root>

    <logger name="*">
      <level value="ALL" />
      <appender-ref ref="rollingFile" />
    </logger>
  </log4net>
</configuration>

log文件夹是在类库项目根目录下

在看log初始化代码

 public static class Loghelper
    {
        public static readonly log4net.ILog log = null;
        static Loghelper()
        {
            if (log == null)
            {
                log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
            }
        }

        public static void WriteInfo(string strInfo)
        {
            log.Info(strInfo);
        }
        public static void WriteDebugInfo(string strInfo)
        {
            log.Debug(strInfo);
        }
    }

还有关联项目的配置

 1 using System.Reflection;
 2 using System.Runtime.CompilerServices;
 3 using System.Runtime.InteropServices;
 4 
 5 // 有关程序集的常规信息通过以下
 6 // 特性集控制。更改这些特性值可修改
 7 // 与程序集关联的信息。
 8 [assembly: AssemblyTitle("RFCDAL")]
 9 [assembly: AssemblyDescription("")]
10 [assembly: AssemblyConfiguration("")]
11 [assembly: AssemblyCompany("")]
12 [assembly: AssemblyProduct("RFCDAL")]
13 [assembly: AssemblyCopyright("Copyright ©  2013")]
14 [assembly: AssemblyTrademark("")]
15 [assembly: AssemblyCulture("")]
16 [assembly: log4net.Config.XmlConfigurator()]
17 // 将 ComVisible 设置为 false 使此程序集中的类型
18 // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
19 // 则将该类型上的 ComVisible 特性设置为 true。
20 [assembly: ComVisible(false)]
21 
22 // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
23 [assembly: Guid("d7f357c3-6efa-431d-a000-2aecc3b77c50")]
24 
25 // 程序集的版本信息由下面四个值组成:
26 //
27 //      主版本
28 //      次版本 
29 //      生成号
30 //      修订号
31 //
32 // 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
33 // 方法是按如下所示使用“*”:
34 // [assembly: AssemblyVersion("1.0.*")]
35 [assembly: AssemblyVersion("1.0.0.0")]
36 [assembly: AssemblyFileVersion("1.0.0.0")]

调用就是 Loghelper.WriteDebugInfo("sdfsdfsdfsdf");  怎么都写不进去啊 郁闷  求解 求解 就剩下5分了 

Ganler1988的主页 Ganler1988 | 初学一级 | 园豆:3
提问于:2013-04-03 20:50
< >
分享
所有回答(5)
0

如果不是写入缓存数的设置问题,可以参考这里
http://www.cnblogs.com/downmoon/archive/2009/09/28/1575576.html

邀月 | 园豆:25475 (高人七级) | 2013-04-03 22:59

好  我试试

支持(0) 反对(0) Ganler1988 | 园豆:3 (初学一级) | 2013-04-03 23:20

还是不行 郁闷

支持(0) 反对(0) Ganler1988 | 园豆:3 (初学一级) | 2013-04-04 00:34
0

把log改成绝对路径,然后确认写入权限。再试试

我只是来看戏的 | 园豆:367 (菜鸟二级) | 2013-04-04 14:31
0

我想是不是没有加载到你的 配置。

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-04-07 10:09
0

我试过了,应该这样配置:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "app.config", Watch = true)]

或者在Global 文件的Application_Start中添加以下语句:

log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("app.config")))

steve min | 园豆:234 (菜鸟二级) | 2013-07-22 10:37
0

楼上的正解log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("app.config"))) 在web中 ok

悍马奔野 | 园豆:212 (菜鸟二级) | 2015-09-06 14:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册