使用log4net无法将日志记录插入mysql数据库解决办法
2015-04-18 22:46
399 查看
写在前面
今天没事研究了下,将日志文件写入mysql数据库,因为新公司用的数据库也是mysql,项目中需要将日志信息写入数据库,没办法,就研究了下。在使用过程中遇到一个很蛋疼的问题。最后解决了,郁闷了半天。这里做一下记录,以免再犯。之前写个这方面的文章,关于配置信息,可参考我的这篇文章:Log4Net日志记录两种方式
解决办法
问题就出在我直接将log4net写入数据库的配置文件log4net.config直接复制过来在项目中使用了,当然是修改了连接字符串,提供程序等与mysql相关的配置。配置文件如下:<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <!--Log4net Begin--> <log4net> <appender name="AdoNetAppender_MySql" type="log4net.Appender.ADONetAppender"> <bufferSize value="1" /> <connectionType value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" /> <connectionString value="server=127.0.0.1;user id=root;pwd=root;port=3306;pooling=True;database=cowork_db" providerName="MySql.Data.MySqlClient;" /> <commandText value="INSERT INTO coworkdocument_log (log_date,log_Thread,log_Level,log_Logger,log_Message,log_Exception) VALUES (@log_date, @log_Thread, @log_level, @log_Logger, @log_Message, @log_Exception)" /> <parameter> <parameterName value="@log_date" /> <dbType value="DateTime" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </parameter> <parameter> <parameterName value="@log_Thread" /> <dbType value="String" /> <size value="100" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%thread" /> </layout> </parameter> <parameter> <parameterName value="@log_Level" /> <dbType value="String" /> <size value="100" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%level" /> </layout> </parameter> <parameter> <parameterName value="@log_Logger" /> <dbType value="String" /> <size value="100" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger" /> </layout> </parameter> <parameter> <parameterName value="@log_Message" /> <dbType value="String" /> <size value="1000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message" /> </layout> </parameter> <parameter> <parameterName value="@log_Exception" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.ExceptionLayout" /> </parameter> </appender> <!-- setup the root category, add the appenders and set the default level --> <root> <level value="ALL"/> <appender-ref ref="AdoNetAppender_MySql"/> </root> </log4net> <!--Log4net End--> </configuration>
弄了很长时间,也不知道问题在哪儿,就是插不进数据,无语死了,最后,灵光一闪,将sql语句修改如下:
INSERT INTO coworkdocument_log (log_date,log_Thread,log_Level,log_Logger,log_Message,log_Exception) VALUES (@log_date, @log_Thread, @log_level, @log_Logger, @log_Message, @log_Exception)
与上篇文章的sqlserver的配置文件对比你会发现,我将字段的[]去掉了,估计是mysql不支持这种语法吧,去掉之后,问题得以解决,能不郁闷吗?
相关文章推荐
- 今天搞log4net插入错误日志去mysql数据库的时候出现了点问题,已解决。记录下解决方案
- Log4Net记录日志到数据库启动24小时后将无法向mysql数据库插入数据
- 使用python向MySQL数据库中插入数据时报错UnicodeEncodeError的解决办法
- MySQL数据库主从同步设置中主服务器二进制日志无法开启的解决办法
- 使用独立的log4net.config文件配置log4net,将日志记录到Mysql数据库【原创】
- log4net 部署到服务器之后 无法记录日志问题 解决方法
- 程序打包,"错误:应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe"工具解决办法
- Sublime Text 3 无法使用package control安装插件解决办法
- MATLAB安装libsvm无法使用解决办法(转)
- 解决Mysql数据库插入数据出现问号(?)的解决办法
- 解决Mysql数据库插入数据出现问号(?)的解决办法
- ABB机器人添加串口模块后无法使用的解决办法
- 飞信系统4月29日升级后飞信机器人无法使用的解决办法
- 关于oracle命令行上下左右键无法使用解决办法
- webapi集成owin使用Oauth认证时能获取accee_token仍无法登录的解决办法
- Java使用Runtime.exec无法打开路径带空格的文件(报错)的解决办法
- iOS开发----Xcode7升级之后插件无法使用与不小心点击Skipbundle的解决办法【转载】
- 关于数据库中无法插入中文(插入之后变成???)的解决办法
- hbase shell 输入无法使用退格键删除解决办法
- C#使用Log4Net记录日志