在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文示例代码下载:https://files.cnblogs.com/lxinxuan/Log4Net_Test.rar
参考了 http://blog.csdn.net/woowindice/archive/2007/03/24/1540122.aspx 同时参考:http://www.cnblogs.com/dragonsuc/archive/2006/06/21/431888.aspx 这个介绍更全面些。 使用步骤:
整个web.config文件例如:
<?xml version="1.0"?>
<!-- 注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的 “网站”->“Asp.Net 配置”选项。 设置和注释的完整列表在 machine.config.comments 中,该文件通常位于 WindowsMicrosoft.NetFrameworkv2.xConfig 中 --> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <appSettings> <add key="mt_url" value="http://61.175.132.123/mt?iscorpsend=false&spid=%spid%&mobileid=%mobileid%&content=%content%"/> <add key="net.bzbs.www.BssoftWebAPI" value="http://www.bzbs.net/bswebapi/BssoftWebAPI.asmx"/> </appSettings> <connectionStrings/> <system.web> <!-- 设置 compilation debug="true" 将调试符号插入 已编译的页面中。但由于这会 影响性能,因此只在开发过程中将此值 设置为 true。 --> <compilation debug="true"/> <!-- 通过 <authentication> 节可以配置 ASP.NET 使用的 安全身份验证模式, 以标识传入的用户。 --> <authentication mode="Windows"/> <!-- 如果在执行请求的过程中出现未处理的错误, 则通过 <customErrors> 节可以配置相应的处理步骤。具体说来, 开发人员通过该节可以配置 要显示的 html 错误页 以代替错误堆栈跟踪。 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> --> <customErrors mode="Off" /> </system.web> <log4net> <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <param name="File" value="c:\Log4Net.log"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/> </layout> </appender> <logger name="File"> <level value="Debug" /> <appender-ref ref="LogFileAppender" /> </logger> </log4net> </configuration> 配置完毕!下面就可以使用log4net了,就跟java里的log4j一样
<!--以下是写入数据库-->
调用代码:<log4net debug="false"> <root> <level value="ALL" /> <appender-ref ref="ADONetAppender" /> </root> <!-- 定义loger的名称和使用的appender --> <logger name="AA"> <level value="ALL"/> <appender-ref ref="ADONetAppender" /> </logger> <appender name="ADONetAppender" type="log4net.Appender.AdoNetAppender"> <!-- 定义几条存入数据库 有2条时才写入数据库,没有两条叫缓存 --> <bufferSize value="2" /> <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <connectionString value="database=Log;server=(local);User ID=log;Password=log" /> <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" /> <parameter> <parameterName value="@log_date" /> <dbType value="DateTime" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </parameter> <parameter> <parameterName value="@thread" /> <dbType value="String" /> <size value="255" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%thread" /> </layout> </parameter> <parameter> <parameterName value="@log_level" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%level" /> </layout> </parameter> <parameter> <parameterName value="@logger" /> <dbType value="String" /> <size value="255" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger" /> </layout> </parameter> <parameter> <parameterName value="@message" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message" /> </layout> </parameter> <parameter> <parameterName value="@exception" /> <dbType value="String" /> <size value="2000" /> <layout type="log4net.Layout.ExceptionLayout" /> </parameter> </appender> </log4net>
log4net.ILog log = log4net.LogManager.GetLogger("AA"); //log.Logger.Name
log.Debug("这是我在使用Log4Net"); 当我测试的时候,发现一个意外情况,就是 <bufferSize value="2" />这里,把2换成其他数字,仍然不起作用,每次依然是插入两条记录,不知道怎么回事... |
请发表评论