首页 > 代码库 > 关于log4net自定义字段写入不进数据库的问题
关于log4net自定义字段写入不进数据库的问题
网上的教程上配置文件基本上都差不多
<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="Logger"> <level value="http://www.mamicode.com/All"/> <appender-ref ref="ADONetAppender"/> </logger> <!--<root> <level value="http://www.mamicode.com/All" /> <appender-ref ref="ADONetAppender" /> </root>--> <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender"> <!--BufferSize为缓冲区大小--> <param name="BufferSize" value="http://www.mamicode.com/1"/> <connectionType value="http://www.mamicode.com/System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <connectionString value="http://www.mamicode.com/database=***;server=.;User ID=sa;Password=***;"/> <commandText value="http://www.mamicode.com/INSERT INTO SYS_Log ([LogTime],[Thread],[Level],[Logger],[Message],[UserID],[OperationID]) VALUES (@log_date, @thread, @log_level, @logger, @message,@UserID,@OperationID)"/> <parameter> <parameterName value="http://www.mamicode.com/@log_date"/> <dbType value="http://www.mamicode.com/DateTime"/> <layout type="log4net.Layout.RawTimeStampLayout"/> </parameter> <parameter> <parameterName value="http://www.mamicode.com/@thread"/> <dbType value="http://www.mamicode.com/String"/> <size value="http://www.mamicode.com/255"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="http://www.mamicode.com/%thread"/> </layout> </parameter> <parameter> <parameterName value="http://www.mamicode.com/@log_level"/> <dbType value="http://www.mamicode.com/String"/> <size value="http://www.mamicode.com/50"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="http://www.mamicode.com/%level"/> </layout> </parameter> <parameter> <parameterName value="http://www.mamicode.com/@logger"/> <dbType value="http://www.mamicode.com/String"/> <size value="http://www.mamicode.com/255"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="http://www.mamicode.com/%logger"/> </layout> </parameter> <parameter> <parameterName value="http://www.mamicode.com/@message"/> <dbType value="http://www.mamicode.com/String"/> <size value="http://www.mamicode.com/4000"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="http://www.mamicode.com/%message"/> </layout> </parameter> <parameter> <parameterName value="http://www.mamicode.com/@UserID" /> <dbType value="http://www.mamicode.com/string" /> <size value="http://www.mamicode.com/255" /> <layout type="Common.Logger.CustomLayout"> <conversionPattern value="http://www.mamicode.com/%UserID" /> </layout> </parameter> <parameter> <parameterName value="http://www.mamicode.com/@OperationID"/> <dbType value="http://www.mamicode.com/string" /> <size value="http://www.mamicode.com/20" /> <layout type="Common.Logger.CustomLayout"> <conversionPattern value="http://www.mamicode.com/%OperationID"/> </layout> </parameter> </appender> </log4net></configuration>
请注意我的最后一个字段,之前这个字段我是这样配置的
<parameter> <parameterName value="http://www.mamicode.com/@OperationID"/> <dbType value="http://www.mamicode.com/Int" /> <layout type="Common.Logger.CustomLayout"> <conversionPattern value="http://www.mamicode.com/%OperationID"/> </layout></parameter>
因为我的这个ID在数据库中是int类型的,然后我在想log4net应该不会不支持int类型吧,然后我这里就这样配置了
然后一直就是插入不进去,直到我一个朋友跟我说把最后一个字段的类型改成string看看,我改了之后果断就好了有木有
虽然不知道是什么原因,但是问题总算是解决了。在这里记下这个问题,为以后有犯我这个错误的朋友做点贡献。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。