diff options
5 files changed, 87 insertions, 14 deletions
diff --git a/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj b/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj index 2488a51..b791198 100644 --- a/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj +++ b/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj @@ -246,6 +246,9 @@ <Build Include="Schema Objects\Schemas\dbo\Tables\Keys\PK_UserRole.pkey.sql"> <SubType>Code</SubType> </Build> + <Build Include="Schema Objects\Schemas\dbo\Tables\Log.table.sql"> + <SubType>Code</SubType> + </Build> <Build Include="Schema Objects\Schemas\dbo\Tables\Nonce.table.sql"> <SubType>Code</SubType> <AnsiNulls>On</AnsiNulls> diff --git a/projecttemplates/RelyingPartyDatabase/Schema Objects/Schemas/dbo/Tables/Log.table.sql b/projecttemplates/RelyingPartyDatabase/Schema Objects/Schemas/dbo/Tables/Log.table.sql new file mode 100644 index 0000000..84fd97a --- /dev/null +++ b/projecttemplates/RelyingPartyDatabase/Schema Objects/Schemas/dbo/Tables/Log.table.sql @@ -0,0 +1,9 @@ +CREATE TABLE [dbo].[Log] ( + [Id] INT IDENTITY (1, 1) NOT NULL, + [Date] DATETIME NOT NULL, + [Thread] VARCHAR (255) NOT NULL, + [Level] VARCHAR (50) NOT NULL, + [Logger] VARCHAR (255) NOT NULL, + [Message] VARCHAR (4000) NOT NULL, + [Exception] VARCHAR (2000) NULL +) diff --git a/projecttemplates/RelyingPartyLogic/CreateDatabase.sql b/projecttemplates/RelyingPartyLogic/CreateDatabase.sql index 722740f..909315f 100644 --- a/projecttemplates/RelyingPartyLogic/CreateDatabase.sql +++ b/projecttemplates/RelyingPartyLogic/CreateDatabase.sql @@ -240,6 +240,22 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER OFF; GO +PRINT N'Creating dbo.Log...'; + + +GO +CREATE TABLE [dbo].[Log] ( + [Id] INT IDENTITY (1, 1) NOT NULL, + [Date] DATETIME NOT NULL, + [Thread] VARCHAR (255) NOT NULL, + [Level] VARCHAR (50) NOT NULL, + [Logger] VARCHAR (255) NOT NULL, + [Message] VARCHAR (4000) NOT NULL, + [Exception] VARCHAR (2000) NULL +); + + +GO PRINT N'Creating dbo.Nonce...'; diff --git a/projecttemplates/WebFormsRelyingParty/Global.asax.cs b/projecttemplates/WebFormsRelyingParty/Global.asax.cs index cc69f0c..0d99ac9 100644 --- a/projecttemplates/WebFormsRelyingParty/Global.asax.cs +++ b/projecttemplates/WebFormsRelyingParty/Global.asax.cs @@ -14,7 +14,7 @@ namespace WebFormsRelyingParty { public class Global : System.Web.HttpApplication { /// <summary> - /// The logger for this sample to use. + /// The logger for this web site to use. /// </summary> private static log4net.ILog logger = log4net.LogManager.GetLogger("WebFormsRelyingParty"); @@ -40,7 +40,7 @@ namespace WebFormsRelyingParty { } protected void Application_Error(object sender, EventArgs e) { - Logger.Error("An unhandled exception occurred in ASP.NET processing: " + Server.GetLastError(), Server.GetLastError()); + Logger.Error("An unhandled exception occurred in ASP.NET processing for page " + HttpContext.Current.Request.Path, Server.GetLastError()); } protected void Session_End(object sender, EventArgs e) { diff --git a/projecttemplates/WebFormsRelyingParty/Web.config b/projecttemplates/WebFormsRelyingParty/Web.config index 9dcc606..f0b01ff 100644 --- a/projecttemplates/WebFormsRelyingParty/Web.config +++ b/projecttemplates/WebFormsRelyingParty/Web.config @@ -59,29 +59,74 @@ </dotNetOpenAuth> <!-- log4net is a 3rd party (free) logger library that DotNetOpenAuth will use if present but does not require. --> <log4net> - <!--<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> - <file value="RelyingParty.log" /> - <appendToFile value="true" /> - <rollingStyle value="Size" /> - <maxSizeRollBackups value="10" /> - <maximumFileSize value="100KB" /> - <staticLogFileName value="true" /> - <layout type="log4net.Layout.PatternLayout"> - <conversionPattern value="%date (GMT%date{%z}) [%thread] %-5level %logger - %message%newline" /> - </layout> - </appender>--> + <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="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WebFormsRelyingParty.mdf;Integrated Security=True;User Instance=True" /> + <commandText value="INSERT INTO [Log] ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" /> + <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> <!-- Setup the root category, add the appenders and set the default level --> <root> <level value="WARN" /> - <appender-ref ref="RollingFileAppender" /> + <appender-ref ref="AdoNetAppender" /> </root> <!-- Specify the level for some specific categories --> <logger name="DotNetOpenAuth"> <level value="WARN" /> </logger> + <logger name="DotNetOpenAuth.OpenId"> + <level value="INFO" /> + </logger> + <logger name="DotNetOpenAuth.OAuth"> + <level value="INFO" /> + </logger> </log4net> <appSettings /> <connectionStrings> + <!-- Remember to keep this connection string in sync with the one (if any) that appears in the log4net section. --> <add name="DatabaseEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WebFormsRelyingParty.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" /> </connectionStrings> <system.web> |