log4net.config 将日记同时写入到数据库和文件当中

《1》

1》在项目中新建新建一个log4net.config的配置文件。

2》从log4net官网下面log4net的文件包,然后在包的bin文件夹下的net文件夹中的4.0文件夹中找到log4net.dll文件,然后将它引入到我们的项目中来

<?xml version="1.0" encoding="utf-8"?><configuration> <configSections><!–配置一个结点 名称为log4net–><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <log4net><!–写入到文件–><appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net"><!–文件路径,如果RollingStyle为Composite或Date,则这里设置为目录,文件名在DatePattern里设置,其他则这里要有文件名。已经扩展支持虚拟目录–><param name="File" value="Log\\LogInfo\\" /><!–将日记写入到跟目录下面的Log文件夹下面的LogInfo文件夹下面的yyyy-MM-dd.TXT文件中–><param name="AppendToFile" value="true" /><param name="MaxSizeRollBackups" value="100" /><param name="MaximumFileSize" value="10240KB" /><param name="StaticLogFileName" value="false" /><param name="RollingStyle" value="Date" /><param name="DatePattern" value="yyyy-MM-dd.TXT" /> <!–TXT后缀必须是大写的,否则有问题–><param name="CountDirection" value="-1" /><!–log4net记录错误的格式(即:用什么样的格式(布局)来记录错误)–><layout type="log4net.Layout.PatternLayout"><param name="ConversionPattern" value=" 【时间】:%d%n 【级别】:%p%n 【类名】:%c%n 【线程ID】: %thread %n 【文件地址】:%F 第%L行%n 【日志内容】:%m%n 【日记详细】:%exception %n—————————————————————————————————————%n" /></layout></appender><!–将日记写入数据库–><appender name="ADONetAppender_SqlServer" type="log4net.Appender.ADONetAppender"><bufferSize value="0" /><connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /><!–<connectionString value="SERVER=FB-VAIO;DATABASE=sales;UID=sa;PWD=123456;Connect Timeout=15;" />–><connectionString value="Data Source=FB-VAIO;Initial Catalog=sales;Integrated Security=SSPI;Connect Timeout=15;" /><commandText value="INSERT INTO xlog ([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="%t"/></layout></parameter><parameter><parameterName value="@log_level"/><dbType value="String"/><size value="50"/><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%p"/></layout></parameter><parameter><parameterName value="@logger"/><dbType value="String"/><size value="50"/><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="%m"/></layout></parameter><parameter><parameterName value="@exception"/><dbType value="String"/><size value="2000"/><layout type="log4net.Layout.ExceptionLayout"><conversionPattern value="%exception"/></layout></parameter></appender><!–在出现什么级别的错误才记录错误 【注意:如果有多个appender-ref的时候,应该给他们放到同一个root节点下】–><root><level value="ALL" /><appender-ref ref="LogFileAppender"/><appender-ref ref="ADONetAppender_SqlServer"/></root> </log4net></configuration>如果项目是webForm应用程序,那么可以在根目录下找到Properties文件下面的AssemblyInfo.cs类。打开它,AssemblyInfo.cs类的最后面添加一段代码:如下://ConfigFile="log4net.config"表示:我们配置文件的路径为网站根目录下的mylognet4.config这个配置文件,这样程序运行的时候就会按照这个路径来读取这个配置文件//Watch:log4net框架用这个属性来确定是否需要在运行时监视文件的改变,如果这个属性为true,那么FilsSystemWatcher将会被用来监视文件的改变,重命名,删除等事件。(即:如果这个配置文件发生变化的时候它是否自适应这个变化,也就是说它会自动的去读取这个变化,而不需要重新启动这个正在运行的这个web应用程序)//其实如果我们吧log4net的配置文件直接配置在web.config文件里,这里就不需要在配置了。这里之所以需要配置是因为我们是独立建立的一个log4net配置文件,为了让它与我们的程序关联起来,在这里,需要对我们建立的log4net配置文件进行读取,,加载到我们的程序当中[assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config", Watch = true)]那如果项目不是webForm应用程序,或者项目中没有AssemblyInfo.cs这个类,怎么办呢? 答:那我们可以在项目跟目录下创建一个Global.asax文件走过一段路,风景毕竟不相同。这段惠风和畅,

log4net.config 将日记同时写入到数据库和文件当中

相关文章:

你感兴趣的文章:

标签云: