log4net无法写入日志到mysql
搞了两天了,爬了好多贴还是不对,只能发帖求助了
是在winform下使用的
目前是可以写到TXT文件里,但是就是写入不到数据库。不知道什么原因
已经引用了log4net.dll,也放到了Debug文件夹下、
程序框架是.NET FrameWork 4.5
我新建了log4net.config,然后配置如下
然后在AssemblyInfo.cs插入语句
我的数据库(没代码了,贴个图)

最后在winform中添加了一个button按钮和label
但就是写入不到数据库,写到TXT文件没问题,实在不知道错哪了,求帮助

是在winform下使用的
目前是可以写到TXT文件里,但是就是写入不到数据库。不知道什么原因
已经引用了log4net.dll,也放到了Debug文件夹下、
程序框架是.NET FrameWork 4.5
我新建了log4net.config,然后配置如下
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>
<!--定义到保存到文件中-->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<!--定义文件存放位置-->
<file value="D:\log.txt"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd-HH:mm:ss"/>
<layout type="log4net.Layout.PatternLayout">
<!--输出格式-->
<conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline"/>
</layout>
</appender>
<!--定义到日志保存到数据库中-->
<appender name="AdoNetAppender_MySql" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1"/>
<connectionType value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" />
<connectionString value="server=localhost;user id=root;pwd=123456;database=labproject"/>
<commandText value="INSERT INTO log(log_datetime,log_thread,log_level,log_logger,log_message,Exception) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)"/>
<parameter>
<parameterName value="@log_date"/>
<dbType value="DateTime"/>
<layout type="log4net.Layout.RawTimeStampLayout"/>
<!--<layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss}" />-->
</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>
<root>
<!--文件形式记录日志-->
<appender-ref ref="LogFileAppender" />
<level value="ALL"/>
<appender-ref ref="AdoNetAppender_MySql"/>
</root>
</log4net>
</configuration>
然后在AssemblyInfo.cs插入语句
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
我的数据库(没代码了,贴个图)

最后在winform中添加了一个button按钮和label
lprivate void button1_Click(object sender, EventArgs e)
{
log4net.ILog myLogger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
myLogger.Warn("这是一个警告日志");
myLogger.Info("单击了按钮");
myLogger.Debug("用Log4Net写入数据库日志");
myLogger.Error("这是一个错误日志");
myLogger.Fatal("这是一个致命的错误日志");
try
{
ILog logger = LogManager.GetLogger("LogRecord");
logger.Debug("用Log4Net写入数据库日志");
}
catch (Exception ex)
{
myLogger.Error(ex);
}
finally
{
label1.Text = DateTime.Now.ToLongTimeString() + ":操作日志已记录完成";
}
}
但就是写入不到数据库,写到TXT文件没问题,实在不知道错哪了,求帮助

...全文
相关推荐
log4net保存日志到MySql数据库
配置log4net连接MySQL在使用log4net将日志写入MySQL之前,需要配置log4net的`AdoNetAppender`。
Log4Net获取异常信息并写入Mysql数据库
关于将异常信息写入Mysql数据库,Log4Net通过`AdoNetAppender`将这些信息转换为SQL插入语句并执行。
33_asp.net办公自动化系统不可运行.zip
这包括文件系统访问权限,例如读取和写入日志文件,以及IIS应用程序池账户对资源的访问权限。6.
log4net写入文件和数据库
log4net是.NET框架下广泛使用的开源日志记录工具,它提供灵活的日志记录配置,包括将日志信息写入文件和数据库。下面我们将深入探讨log4net如何实现这两个功能。
log4net应用demo_记录系统日志信息(支持6种数据库)
**日志目标**:Demo支持将日志写入六种不同的数据存储:SQL Server、Oracle、MySQL、Access、SQLite和文本文件。


