我是用在类库项目上的
首先看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".log"" /> <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分了
把log改成绝对路径,然后确认写入权限。再试试
我想是不是没有加载到你的 配置。
我试过了,应该这样配置:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "app.config", Watch = true)]
或者在Global 文件的Application_Start中添加以下语句:
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("app.config")))
楼上的正解log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("app.config"))) 在web中 ok