Base solution for your next web application
Open Closed

Log4net can't log to database #22


User avatar
0
dinhienhy created

Hi,

I have created a database to store log of log4net.

Please review Log4Net class which is a dbset to create table Log4Net:

public class Log4Net : CreationAuditedEntity<int> { public virtual DateTime Date { get; set; } public virtual string Thread { get; set; } public virtual string Level { get; set; } public virtual string Logger { get; set; } public virtual string Message { get; set; } public virtual string Exception { get; set; } }

And file log4net config:

<?xml version="1.0" encoding="utf-8" ?> <log4net> <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> <bufferSize value="100" /> <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <connectionString value="Server=HIEN-PC; Database=HappySport; Trusted_Connection=True;" /> <commandText value="INSERT INTO Log4Net ([Date],[Thread],[Level],[Logger],[Message],[Exception], [CreationTime]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception, @log_date)" /> <parameter> <parameterName value="@log_date" /> <dbType value="DateTime" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </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> <level value="DEBUG" /> <appender-ref ref="AdoNetAppender" /> </root> </log4net>


2 Answer(s)
  • User Avatar
    0
    hikalkan created
    Support Team

    It seems not related to ASP.NET Boilerplate. I've no much experience on that. You can search web for log4net configuration.

  • User Avatar
    0
    dinhienhy created

    I have config log4.net successfully. Bellow is my log4net.config:

    <?xml version="1.0" encoding="utf-8" ?> <log4net> <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> <bufferSize value="1" /> <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <connectionString value="data source=HIEN-PC;initial catalog=HappySport;integrated security=false;persist security info=True;User ID=sa;Password=12qwaszx" /> <commandText value="INSERT INTO Log4Net ([Date],[Thread],[Level],[Logger],[Message],[Exception], [CreationTime]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception, @log_date)" /> <parameter> <parameterName value="@log_date" /> <dbType value="DateTime" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </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="%p" /> </layout> </parameter> <parameter> <parameterName value="@logger" /> <dbType value="String" /> <size value="255" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%c" /> </layout> </parameter> <parameter> <parameterName value="@message" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%m" /> </layout> </parameter> <parameter> <parameterName value="@exception" /> <dbType value="String" /> <size value="2000" /> <layout type="log4net.Layout.ExceptionLayout" /> </parameter> </appender> <root> <level value="ALL" /> <appender-ref ref="AdoNetAppender" /> </root> </log4net>