我在将log4net集成weiapi中,我想要的输出效果是
每天在站点的根目录log文件夹下面生成一个以日期为名称的文件夹
例如
log\20160820\error.log
log\20160820\info.log
一个用来记录异常,一个记录信息
我使用了以下配置
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net debug="true"> <!-- 错误日志类--> <logger name="logerror"> <level value="Error" /> <appender-ref ref="ErrorAppender" /> </logger> <!-- 信息日志类 --> <logger name="loginfo"> <level value="Info" /> <appender-ref ref="InfoAppender" /> </logger> <!-- 错误日志附加介质--> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaxFileSize" value="10240" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="Error/yyyy-MM-dd/"Error.log"" /> <param name="RollingStyle" value="Date" /> <!--布局--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 记录类:%logger 操作者ID:%property{Operator} 操作类型:%property{Action}%n 当前机器名:%property%n当前机器名及登录用户:%username %n 记录位置:%location%n 消息描述:%property{Message}%n 异常:%exception%n 消息:%message%newline%n%n" /> </layout> </appender> <!-- 信息日志附加介质--> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="Info/yyyy-MM-dd/"Info.log"" /> <param name="RollingStyle" value="Date" /> <!-- 信息日志布局--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 记录类:%logger 操作者ID:%property{Operator} 操作类型:%property{Action}%n 当前机器名:%property%n当前机器名及登录用户:%username %n 记录位置:%location%n 消息描述:%property{Message}%n 异常:%exception%n 消息:%message%newline%n%n" /> </layout> </appender> </log4net> </configuration>
现在的情况是,文件夹和文件可以创建,但是异常不能输出
try { var i = new int[] { }; var s = i[5]; } catch (Exception ex) { log.Error(ex.ToString()); log.Info(ex.ToString()); }
上面是我输出异常的代码,现在可以确定的是,问题再配置文件这边,请大神帮忙看看哪里有问题。
ILog log = log4net.LogManager.GetLogger("logerror");
GetLogger()的参数需要指定为配置文件中设定的logger name。
是这个原因,非常感谢