You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by "sundeep (JIRA)" <ji...@apache.org> on 2009/04/12 13:42:15 UTC
[jira] Created: (LOG4NET-211) Log4net with MS Access 2007 for
asp.net 3.5 website
Log4net with MS Access 2007 for asp.net 3.5 website
---------------------------------------------------
Key: LOG4NET-211
URL: https://issues.apache.org/jira/browse/LOG4NET-211
Project: Log4net
Issue Type: Bug
Components: Appenders
Affects Versions: 1.2.10
Environment: Windows XP, VS 2008, MS Access 2007
Reporter: sundeep
Fix For: 1.2.10
Hello,
I am using log4net for asp.net 3.5 website for logging exceptions into the MS Access 2007 (*accdb ). I had done following settings:
1. Created log4net config file
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="false">
<appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
<connectionString value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|EAlog.accdb;Persist Security Info=False;" />
<commandText value="INSERT INTO Logs ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@LogDate, @Thread, @Level, @Logger, @Message)" />
<parameter>
<parameterName value="@LogDate" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date" />
</layout>
</parameter>
<parameter>
<parameterName value="@Thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@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="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
</appender>
<!--<root>
<level value="DEBUG" />
<appender-ref ref="AdoNetAppender_Access"/>
</root>-->
<logger name="File">
<level value="All" />
<appender-ref ref="AdoNetAppender_Access" />
</logger>
</log4net>
<!--<log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender"/>
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logsapp.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t]%-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logsapp.log" />
<appendToFile value="false" />
<datePattern value="-dddd" />
<rollingStyle value="Date" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t]%-5p %c [%x] - %m%n" />
</layout>
</appender>
</log4net>-->
<!--Log4net-->
<!--<log4net>
<appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
<connectionString value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Logs.accdb;Persist Security Info=False;" />
<commandText value="INSERT INTO Logs ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (?, ?, ?, ?, ?)" />
<parameter>
<parameterName value="LogDate" />
<dbType value="DateTime" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%LogDate" />
</layout>
</parameter>
<parameter>
<parameterName value="Thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%Thread" />
</layout>
</parameter>
<parameter>
<parameterName value="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="1024" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%Message" />
</layout>
</parameter>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="AdoNetAppender_Access"/>
</root>
</log4net>-->
<!--End of log4net-->
2. In app.config file:
void Application_Start(object sender, EventArgs e)
{
string logFile = HttpContext.Current.Request.PhysicalApplicationPath + "log4net.config";
if (System.IO.File.Exists(logFile))
{
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(logFile));
}
}
3. In aspx page
private static readonly ILog log = LogManager.GetLogger("File");
log.Error("This is an error message");
log.Debug("This is a debug message");
Now what happens is when I browse the aspx page, it is logging exceptions after 10-15 min in the logs MS Access table. During my investigation, when I opened app_data folder I am able to see Logs.laccdb database getting created and after 10-15min this file is getting deleted and rows are added into the table. I think log4net is locking the database for such time and performing the insert statements.
Could you please guide me if I am doing anything wrong.
Thanks,
Sundeep.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.