C#Log4net记录日志
程序员文章站
2022-04-14 10:54:15
1、下载log4net地址:http://logging.apache.org/log4net/download_log4net.cgi 下载log4net-2.0.8-bin-oldkey.zip到本地,根据自己的需求选择一个合适的log4net.dll版本即可。 2、log4net.dll放在 ......
1、下载log4net地址:http://logging.apache.org/log4net/download_log4net.cgi
下载到本地,根据自己的需求选择一个合适的log4net.dll版本即可。
2、log4net.dll放在 \bin\release或者 \bin\debug下。
3、解决方案下的引用中去引用该dll。
4、添加一个app.config,可网上查询添加的节点。这里添加一个我自己可以用的。
<?xml version="1.0" encoding="utf-8"?> <configuration> <startup> <supportedruntime version="v4.0" sku=".netframework,version=v4.0"/> </startup> <configsections> <section name="log4net" type="log4net.config.log4netconfigurationsectionhandler, log4net"/> </configsections> <!--日志--> <log4net> <logger name="logerror"> <level value="all"/> <appender-ref ref="log_error"/> </logger> <logger name="loginfo"> <level value="debug"/> <appender-ref ref="log_info"/> </logger> <!--<logger name="logconsole"> <level value="info" /> <appender-ref ref="consoleappender" /> </logger>--> <!--信息日志--> <appender name="log_error" type="log4net.appender.rollingfileappender"> <!--定义日志存放位置--> <param name="file" value="e:\logs\error.log"/> <param name="datepattern" value="yyyymmdd"/> <param name="appendtofile" value="true"/> <param name="maxsizerollbackups" value="100"/> <param name="maximumfilesize" value="1mb"/> <param name="rollingstyle" value="size"/> <param name="staticlogfilename" value="true"/> <layout type="log4net.layout.patternlayout"> <!--输出格式--> <param name="conversionpattern" value="%-5level %date %file %type %method() %line %message %n"/> </layout> </appender> <appender name="log_info" type="log4net.appender.rollingfileappender"> <param name="file" value="e:\logs\info.log"/> <param name="datepattern" value="yyyymmdd"/> <param name="appendtofile" value="true"/> <param name="maxsizerollbackups" value="100"/> <param name="maximumfilesize" value="1mb"/> <param name="rollingstyle" value="size"/> <param name="staticlogfilename" value="true"/> <layout type="log4net.layout.patternlayout"> <param name="conversionpattern" value="%-5level %d [%c] %m%n"/> </layout> <filter type="log4net.filter.levelrangefilter"> <param name="levelmin" value="info"/> <param name="levelmax" value="error"/> </filter> </appender> </log4net> </configuration>
5、assemblyinfo.cs中最后一句添加[assembly: log4net.config.xmlconfigurator(configfileextension = "config", watch = true)],否则的话不能写入日志。
6、winform中可以单独建一个类用于存放log4net的实例化。
当然了需要注意的是log4net.logmanager.getlogger("logerror和loginfo")中的“msglogger”要与app.config中相对应。
1 using system; 2 using system.collections.generic; 3 using system.linq; 4 using system.text; 5 using system.threading.tasks; 6 7 namespace demo 8 { 9 class loghelper 10 { 11 public static log4net.ilog logerror = log4net.logmanager.getlogger("logerror"); 12 public static log4net.ilog loginfo = log4net.logmanager.getlogger("loginfo"); 13 } 14 15 }
7、测试一下
using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.threading.tasks; using system.windows.forms; namespace demo { public partial class form1 : form { public form1() { initializecomponent(); loghelper.loginfo.info("ssss"); loghelper.logerror.info("look look error log."); } } }
8、大功告成