Skip to content

Instantly share code, notes, and snippets.

@mariobot
Last active January 25, 2020 22:22
Show Gist options
  • Save mariobot/b2474282ef292b684abdb3723005b43c to your computer and use it in GitHub Desktop.
Save mariobot/b2474282ef292b684abdb3723005b43c to your computer and use it in GitHub Desktop.
Script for Log Table and Procedure implemented at https://www.youtube.com/watch?v=N9qioGSSzes
CREATE TABLE [dbo].[Logs](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Level] [varchar](255) NOT NULL,
[CallSite] [varchar](255) NOT NULL,
[Type] [varchar](255) NOT NULL,
[Message] [varchar](max) NOT NULL,
[StackTrace] [varchar](max) NOT NULL,
[InnerException] [varchar](max) NOT NULL,
[AdditionalInfo] [varchar](max) NOT NULL,
[LoggedOnDate] [datetime] NOT NULL,
CONSTRAINT [PK_Logs] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[Logs] ADD CONSTRAINT [DF_Logs_TimeStamp] DEFAULT (getdate()) FOR [LoggedOnDate]
GO
CREATE PROCEDURE [dbo].[InsertLog]
(
@level varchar(20),
@callsite varchar(MAX),
@type varchar(MAX),
@message varchar(MAX),
@stackTrace varchar(MAX),
@innerException varchar(MAX),
@aditionalInfo varchar(MAX)
)
AS
INSERT INTO [dbo].[Logs]
(
[Level],
CallSite,
[Type],
[Message],
StackTrace,
InnerException,
AdditionalInfo
)
VALUES
(
@level,
@callsite,
@type,
@message,
@stackTrace,
@innerException,
@aditionalInfo
)
GO
/*
<target name="database"
xsi:type="Database"
connectionStringName="dbContext"
commandText="exec InsertLog
@level,
@callsite,
@type,
@message,
@stackTrace,
@innerException,
@aditionalInfo">
<parameter name="@level" layout="${level}"/>
<parameter name="@callsite" layout="${callsite}"/>
<parameter name="@type" layout="${exception:format=type}"/>
<parameter name="@message" layout="${exception:format=message}"/>
<parameter name="@stackTrace" layout="${exception:format=stackTrace}"/>
<parameter name="@innerException" layout="${exception:method:maxInnerExceptionLevel=5:innerFormat=shortType,message,method}"/>
<parameter name="@aditionalInfo" layout="${message}"/>
</target>
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment