{"id":19113896,"url":"https://github.com/ffernandolima/log4netcore-sqlserver","last_synced_at":"2025-04-30T22:15:35.733Z","repository":{"id":54764807,"uuid":"204722058","full_name":"ffernandolima/log4netcore-sqlserver","owner":"ffernandolima","description":"log4net AdoNetAppender for .NET Core.","archived":false,"fork":false,"pushed_at":"2024-01-16T20:01:27.000Z","size":29,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T22:15:31.506Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ffernandolima.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-08-27T14:32:12.000Z","updated_at":"2024-10-11T03:42:28.000Z","dependencies_parsed_at":"2025-04-19T00:33:24.726Z","dependency_job_id":"dd2b8204-939c-4d24-848f-52fa48eb4fb1","html_url":"https://github.com/ffernandolima/log4netcore-sqlserver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffernandolima%2Flog4netcore-sqlserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffernandolima%2Flog4netcore-sqlserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffernandolima%2Flog4netcore-sqlserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffernandolima%2Flog4netcore-sqlserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ffernandolima","download_url":"https://codeload.github.com/ffernandolima/log4netcore-sqlserver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251789622,"owners_count":21644087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T04:39:30.575Z","updated_at":"2025-04-30T22:15:35.711Z","avatar_url":"https://github.com/ffernandolima.png","language":"C#","funding_links":["https://www.buymeacoffee.com/fernandolima"],"categories":[],"sub_categories":[],"readme":"# Log4NetCore.SqlServer\n\nlog4net AdoNetAppender for .NET Core.\n\nhttps://logging.apache.org/log4net/ has no support for AdoNetAppender yet, so this project solves this problem.\n\nP.S: Only SQL Server database provider supported.\n\n# Status\n[![NuGet Version](https://img.shields.io/nuget/v/Log4NetCore.SqlServer.svg)](https://www.nuget.org/packages/Log4NetCore.SqlServer/ \"NuGet Version\")\n[![NuGet Downloads](https://img.shields.io/nuget/dt/Log4NetCore.SqlServer.svg)](https://www.nuget.org/packages/Log4NetCore.SqlServer/ \"NuGet Downloads\")\n\n# Getting Started\n\n- Appender configuration \n\nIn your log4net.config, please add these configurations:\n\n```XML\n\n\t\t\u003cappender name=\"AdoNetAppender\" type=\"Log4NetCore.SqlServer.Appenders.AdoNetAppender, Log4NetCore.SqlServer\"\u003e\n\t\t\t\u003cbufferSize value=\"1\" /\u003e\n\t\t\t\u003cconnectionType value=\"System.Data.SqlClient.SqlConnection,System.Data.SqlClient,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089\" /\u003e\n\t\t\t\u003cconnectionStringName value=\"[YOUR CONNECTION STRING NAME]\" /\u003e \u003c!-- Example: log4netCoreDb --\u003e\n\t\t\t\u003cconnectionStringFile value=\"[YOUR JSON CONFIGURATION FILE]\" /\u003e \u003c!-- Example: appsettings.json --\u003e\n\t\t\t\u003ccommandText value=\"INSERT INTO Log ([Date],[Level],[Logger],[Message]) VALUES (@date, @level, @logger, @message)\" /\u003e\n\t\t\t\u003cparameter\u003e\n\t\t\t\t\u003cparameterName value=\"@date\" /\u003e\n\t\t\t\t\u003cdbType value=\"DateTime\" /\u003e\n\t\t\t\t\u003clayout type=\"log4net.Layout.RawTimeStampLayout\" /\u003e\n\t\t\t\u003c/parameter\u003e\n\t\t\t\u003cparameter\u003e\n\t\t\t\t\u003cparameterName value=\"@level\" /\u003e\n\t\t\t\t\u003cdbType value=\"String\" /\u003e\n\t\t\t\t\u003csize value=\"50\" /\u003e\n\t\t\t\t\u003clayout type=\"log4net.Layout.PatternLayout\"\u003e\n\t\t\t\t\t\u003cconversionPattern value=\"%level\" /\u003e\n\t\t\t\t\u003c/layout\u003e\n\t\t\t\u003c/parameter\u003e\n\t\t\t\u003cparameter\u003e\n\t\t\t\t\u003cparameterName value=\"@logger\" /\u003e\n\t\t\t\t\u003cdbType value=\"String\" /\u003e\n\t\t\t\t\u003csize value=\"100\" /\u003e\n\t\t\t\t\u003clayout type=\"log4net.Layout.PatternLayout\"\u003e\n\t\t\t\t\t\u003cconversionPattern value=\"%logger\" /\u003e\n\t\t\t\t\u003c/layout\u003e\n\t\t\t\u003c/parameter\u003e\n\t\t\t\u003cparameter\u003e\n\t\t\t\t\u003cparameterName value=\"@message\" /\u003e\n\t\t\t\t\u003cdbType value=\"String\" /\u003e\n\t\t\t\t\u003csize value=\"8000\" /\u003e\n\t\t\t\t\u003clayout type=\"log4net.Layout.PatternLayout\"\u003e\n\t\t\t\t\t\u003cconversionPattern value=\"%message\" /\u003e\n\t\t\t\t\u003c/layout\u003e\n\t\t\t\u003c/parameter\u003e\n\t\t\u003c/appender\u003e\t\t\n```\n\nPlease pay attention to the property named \"type\", it shall use the qualified assembly \"Log4NetCore.SqlServer.Appenders.AdoNetAppender, Log4NetCore.SqlServer\". \n\nAlso, you need to provide your connection string name and the file which contains it through the properties \"connectionStringName\" and \"connectionStringFile\", so this app will find your connection string automatically.\n\n- Set database connection manually (through code)\n\nSome extensions were created in order to help you with it:\n\n```C#\n\n// Configure log4net\nvar assembly = [YOUR REPOSITORY ASSEMBLY];\n\nXmlConfigurator.Configure(\n\tLogManager.GetRepository(assembly),\n\tnew FileInfo($@\"{AppDomain.CurrentDomain.BaseDirectory}log4net.config\")\n);\n\n// Configure IConfiguration\nvar configuration = new ConfigurationBuilder()\n\t.AddJsonFile(\"appsettings.json\", optional: false, reloadOnChange: true)\n\t.Build();\n\t\n// Get ConnectionString\nvar connectionString = configuration.GetConnectionString(\"log4netCoreDb\");\n\n// Configure Log4NetCore.SqlServer\nint affectedAdoNetAppenders = 0;\n\n// All repositories\nvar results = AdoNetAppenderHelper.SetConnectionString(connectionString);\n\n// Specific repository from the provided assembly\naffectedAdoNetAppenders = AdoNetAppenderHelper.SetConnectionString(assembly, connectionString);\n\n// Specific repository\nvar loggerRepository = LogManager.GetRepository(assembly);\n\naffectedAdoNetAppenders = loggerRepository.SetConnectionString(connectionString);\n\n// Specific appender\nvar adoNetAppender = new AdoNetAppender();\n\nadoNetAppender.SetConnectionString(connectionString);\n\n```   \n\n# Support / Contributing\nIf you want to help with the project, feel free to open pull requests and submit issues. \n\n# Donate\n\nIf you would like to show your support for this project, then please feel free to buy me a coffee.\n\n\u003ca href=\"https://www.buymeacoffee.com/fernandolima\" target=\"_blank\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/white_img.png\" alt=\"Buy Me A Coffee\" style=\"height: auto !important;width: auto !important;\" \u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fffernandolima%2Flog4netcore-sqlserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fffernandolima%2Flog4netcore-sqlserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fffernandolima%2Flog4netcore-sqlserver/lists"}