log4net简单使用笔记(windows窗体)
这里是官方的文档说明http://logging.apache.org/log4net/
xml配置部分
<?xml version="1.0"?> <configuration> <configSections> <!--必须加的--> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> </configSections> <log4net> <!--可以直接用这个写,不定义的话就用后边的root里的所有写--> <logger name="logerror"> <!--写日志等级--> <level value="ERROR"/> <!--用哪个appender,只是一个ref(erence)--> <appender-ref ref="RollingLogFileAppender"/> </logger> <logger name="loginfo"> <level value="INFO"/> <appender-ref ref="RollingLogFileAppender"/> </logger> <!--写日志的方式(文件滚动,其它还可以定义ConsoleAppender等)--> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="log/"/> <datePattern value="yyyy年MM月dd日"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <maxSizeRollBackups value="1000"/> <maximumFileSize value="2000"/> <!--日志消息最后写入的格式(最后要发给layout布局处理的)--> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date (%file:%line) %-5level %logger - %message%newline"/> </layout> </appender> <root> <level value="Debug"/> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net> </configuration>
程序调用部分
//这里不能漏,指明用哪个config。另外要把.config设置成一直复制 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)] namespace SendWeatherService { public class LogHelper { private static LogHelper m_instance = null; //这里从.config里取得名为loginfo的logger private static readonly log4net.ILog m_infoWriter = log4net.LogManager.GetLogger("loginfo"); //直接用默认的? private static readonly log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public void WriteLog(string info) { if (m_infoWriter.IsInfoEnabled) { //记录日志的时候 m_infoWriter.Info(info); m_infoWriter.Error(.....); } } //... } }