我在C#.net下用log4net写入日志到oracle,可是写入的数据不对,请各位帮帮我看哪里出错了?
配置文件<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<logger name="LogSystem">
<level value="DEBUG" />
<appender-ref ref="AdoNetAppender_Oracle" />
</logger>
<!--记录到数据库方式-->
<appender name="AdoNetAppender_Oracle" type="log4net.Appender.AdoNetAppender">
<connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="data source=orcl;User ID=yuan;Password=abc" />
<commandText value="INSERT INTO LOG(DATETIME,THREAD,LOG_LEVEL,LOGGER,MESSAGE) VALUES (:log_date, :thread, :log_level, :logger, :log_message)" />
<bufferSize value="128" />
<parameter>
<parameterName value=":log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value=":thread" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread"/>
</layout>
</parameter>
<parameter>
<parameterName value=":log_level"/>
<dbType value="String" />
<size value="40" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level"/>
</layout>
</parameter>
<parameter>
<parameterName value=":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="200" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
</appender> <!-- setup the root category, add the appenders and set the default level -->
<root> <level value="ALL"/> <appender-ref ref="AdoNetAppender_Oracle" />
</root>
</log4net>
</configuration> 调用程序
配置了:[assembly: log4net.Config.DOMConfigurator(Watch = true)]namespace log4net
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private void button1_Click(object sender, EventArgs e)
{
log.Info("lalal");
log.Debug("debug");
log.Error("error");
}
}
oracle记录的数据都是这样的:
Thread:5916hread
Log_level:log4net.Form1.button1_Click(C:\Users\Administrator\Desktop\log4net\log4net\Form1.cs:22)evel
Message:***essage
查了好长时间不知道是怎么回事儿,请各位指点!!非常感谢!!
配置文件<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<logger name="LogSystem">
<level value="DEBUG" />
<appender-ref ref="AdoNetAppender_Oracle" />
</logger>
<!--记录到数据库方式-->
<appender name="AdoNetAppender_Oracle" type="log4net.Appender.AdoNetAppender">
<connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="data source=orcl;User ID=yuan;Password=abc" />
<commandText value="INSERT INTO LOG(DATETIME,THREAD,LOG_LEVEL,LOGGER,MESSAGE) VALUES (:log_date, :thread, :log_level, :logger, :log_message)" />
<bufferSize value="128" />
<parameter>
<parameterName value=":log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value=":thread" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread"/>
</layout>
</parameter>
<parameter>
<parameterName value=":log_level"/>
<dbType value="String" />
<size value="40" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level"/>
</layout>
</parameter>
<parameter>
<parameterName value=":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="200" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
</appender> <!-- setup the root category, add the appenders and set the default level -->
<root> <level value="ALL"/> <appender-ref ref="AdoNetAppender_Oracle" />
</root>
</log4net>
</configuration> 调用程序
配置了:[assembly: log4net.Config.DOMConfigurator(Watch = true)]namespace log4net
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private void button1_Click(object sender, EventArgs e)
{
log.Info("lalal");
log.Debug("debug");
log.Error("error");
}
}
oracle记录的数据都是这样的:
Thread:5916hread
Log_level:log4net.Form1.button1_Click(C:\Users\Administrator\Desktop\log4net\log4net\Form1.cs:22)evel
Message:***essage
查了好长时间不知道是怎么回事儿,请各位指点!!非常感谢!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货