可能的原因:1配置文件未拷贝到目标目录
2.命名空间未加载配置文件
1---》项目中新建项 log4net.config 右键属性中 Copy to Output Directoru 选择 copy if new
2--->
using log4net;
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
namespace XXXXX
{
private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
log.errr("异常信息");
。。。
}
新版本的配置信息
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
</system.web>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<!--指定生成的目录格式为yyyyMMdd.log-->
<file type="log4net.Util.PatternString" value="Log/%date{yyyyMMdd}.log" />
<!--指定生成的目录格式为yyyyMMdd.log-->
<datePattern value="yyyyMMdd'.log'"/>
<!--指定的文件格式为yyyyMMdd.log-->
<appendToFile value="true" />
<!--是否追加内容-->
<rollingStyle value="Date" />
<!--新文件的类型-->
<maxSizeRollBackups value="15" />
<!--备份log文件的个数最多15个-->
<maximumFileSize value="10MB" />
<!--log文件最大是10M-->
<staticLogFileName value="true" />
<!--是否启用静态文件名-->
<layout type="log4net.Layout.PatternLayout">
<!--指定log的格式 [时间] -线程- -等级- -ILog名称、方法名- -描述-->
<conversionPattern value="[%date] %thread -- %-5level -- %logger [%M] -- %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
<!--ref的值与上述appender中name值对应-->
</root>
</log4net>
</configuration>
----------------------------分割线最早的版本- 直接修改app.config -----------------------------------------------
1.main程序加一句
log4net.Config.XmlConfigurator.Configure(); //从APP.CONFIG中读取日志的信息
2 。APP.CONFIG配置信息
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<!--信息日志-->
<!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
<appender name="infoLog" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="logs/info.log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyyMMdd" />
<param name="StaticLogFileName" value="true" />
<param name="MaxSizeRollBackups" value="90" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d %-5p %c - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<!--错误日志-->
<appender name="errorLog" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="logs/error.log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyyMMdd" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d %-5p %c - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="WARN" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<!--控制台-->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d %-5p %c - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="infoLog"/>
<appender-ref ref="errorLog" />
<appender-ref ref="ConsoleAppender"/>
</root>
</log4net>
</configuration>