From fc8945cac5257f38eb8bdec5dbc242a6bcb077c4 Mon Sep 17 00:00:00 2001 From: Phil Asmar Date: Mon, 14 Oct 2024 20:49:45 -0400 Subject: [PATCH] ci: add support for automated versioning and changelog creation --- .autover/autover.json | 27 ++ .github/workflows/create-release-pr.yml | 101 ++++++ .github/workflows/sync-main-dev.yml | 137 ++++++++ .gitignore | 4 + CHANGELOG.md | 404 ++++++++++++++++++++++++ RELEASE.CHANGELOG.md | 376 ---------------------- 6 files changed, 673 insertions(+), 376 deletions(-) create mode 100644 .autover/autover.json create mode 100644 .github/workflows/create-release-pr.yml create mode 100644 .github/workflows/sync-main-dev.yml create mode 100644 CHANGELOG.md delete mode 100644 RELEASE.CHANGELOG.md diff --git a/.autover/autover.json b/.autover/autover.json new file mode 100644 index 0000000..13aa4d2 --- /dev/null +++ b/.autover/autover.json @@ -0,0 +1,27 @@ +{ + "Projects": [ + { + "Name": "AWS.Logger.AspNetCore", + "Path": "src/AWS.Logger.AspNetCore/AWS.Logger.AspNetCore.csproj" + }, + { + "Name": "AWS.Logger.Core", + "Path": "src/AWS.Logger.Core/AWS.Logger.Core.csproj" + }, + { + "Name": "AWS.Logger.Log4net", + "Path": "src/AWS.Logger.Log4net/AWS.Logger.Log4net.csproj" + }, + { + "Name": "AWS.Logger.SeriLog", + "Path": "src/AWS.Logger.SeriLog/AWS.Logger.SeriLog.csproj" + }, + { + "Name": "NLog.AWS.Logger", + "Path": "src/NLog.AWS.Logger/NLog.AWS.Logger.csproj" + } + ], + "UseCommitsForChangelog": false, + "DefaultIncrementType": "Patch", + "ChangeFilesDetermineIncrementType": true +} \ No newline at end of file diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml new file mode 100644 index 0000000..2591e5f --- /dev/null +++ b/.github/workflows/create-release-pr.yml @@ -0,0 +1,101 @@ +# This GitHub Workflow will create a new release branch that contains the updated C# project versions and changelog. +# The workflow will also create a PR that targets `dev` from the release branch. +name: Create Release PR + +# This workflow is manually triggered when in preparation for a release. The workflow should be dispatched from the `dev` branch. +on: + workflow_dispatch: + inputs: + OVERRIDE_VERSION: + description: "Override Version" + type: string + required: false + +permissions: + id-token: write + +jobs: + release-pr: + name: Release PR + runs-on: ubuntu-latest + + env: + INPUT_OVERRIDE_VERSION: ${{ github.event.inputs.OVERRIDE_VERSION }} + + steps: + # Assume an AWS Role that provides access to the Access Token + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@8c3f20df09ac63af7b3ae3d7c91f105f857d8497 #v4 + with: + role-to-assume: ${{ secrets.RELEASE_WORKFLOW_ACCESS_TOKEN_ROLE_ARN }} + aws-region: us-west-2 + # Retrieve the Access Token from Secrets Manager + - name: Retrieve secret from AWS Secrets Manager + uses: aws-actions/aws-secretsmanager-get-secrets@v2 + with: + secret-ids: | + AWS_SECRET, ${{ secrets.RELEASE_WORKFLOW_ACCESS_TOKEN_NAME }} + parse-json-secrets: true + # Checkout a full clone of the repo + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: '0' + token: ${{ env.AWS_SECRET_TOKEN }} + # Install .NET8 which is needed for AutoVer + - name: Setup .NET 8.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + # Install AutoVer to automate versioning and changelog creation + - name: Install AutoVer + run: dotnet tool install --global AutoVer --version 0.0.21 + # Set up a git user to be able to run git commands later on + - name: Setup Git User + run: | + git config --global user.email "github-aws-sdk-dotnet-automation@amazon.com" + git config --global user.name "aws-sdk-dotnet-automation" + # Create the release branch which will contain the version changes and updated changelog + - name: Create Release Branch + id: create-release-branch + run: | + branch=releases/next-release + git checkout -b $branch + echo "BRANCH=$branch" >> $GITHUB_OUTPUT + # Update the version of projects based on the change files + - name: Increment Version + run: autover version + if: env.INPUT_OVERRIDE_VERSION == '' + # Update the version of projects based on the override version + - name: Increment Version + run: autover version --use-version "$INPUT_OVERRIDE_VERSION" + if: env.INPUT_OVERRIDE_VERSION != '' + # Update the changelog based on the change files + - name: Update Changelog + run: autover changelog + # Push the release branch up as well as the created tag + - name: Push Changes + run: | + branch=${{ steps.create-release-branch.outputs.BRANCH }} + git push origin $branch + git push origin $branch --tags + # Get the release name that will be used to create a PR + - name: Read Release Name + id: read-release-name + run: | + version=$(autover changelog --release-name) + echo "VERSION=$version" >> $GITHUB_OUTPUT + # Get the changelog that will be used to create a PR + - name: Read Changelog + id: read-changelog + run: | + changelog=$(autover changelog --output-to-console) + echo "CHANGELOG<> "$GITHUB_OUTPUT" + # Create the Release PR and label it + - name: Create Pull Request + env: + GITHUB_TOKEN: ${{ env.AWS_SECRET_TOKEN }} + run: | + pr_url="$(gh pr create --title "${{ steps.read-release-name.outputs.VERSION }}" --body "${{ steps.read-changelog.outputs.CHANGELOG }}" --base dev --head ${{ steps.create-release-branch.outputs.BRANCH }})" + gh label create "Release PR" --description "A Release PR that includes versioning and changelog changes" -c "#FF0000" -f + gh pr edit $pr_url --add-label "Release PR" \ No newline at end of file diff --git a/.github/workflows/sync-main-dev.yml b/.github/workflows/sync-main-dev.yml new file mode 100644 index 0000000..e7e4a84 --- /dev/null +++ b/.github/workflows/sync-main-dev.yml @@ -0,0 +1,137 @@ +# This GitHub Workflow is designed to run automatically after the Release PR, which was created by the `Create Release PR` workflow, is closed. +# This workflow has 2 jobs. One will run if the `Release PR` is successfully merged, indicating that a release should go out. +# The other will run if the `Release PR` was closed and a release is not intended to go out. +name: Sync 'dev' and 'master' + +# The workflow will automatically be triggered when any PR is closed. +on: + pull_request: + types: [closed] + +permissions: + contents: write + id-token: write + +jobs: + # This job will check if the PR was successfully merged, it's source branch is `releases/next-release` and target branch is `dev`. + # This indicates that the merged PR was the `Release PR`. + # This job will synchronize `dev` and `master`, create a GitHub Release and delete the `releases/next-release` branch. + sync-dev-and-main: + name: Sync dev and master + if: | + github.event.pull_request.merged == true && + github.event.pull_request.head.ref == 'releases/next-release' && + github.event.pull_request.base.ref == 'dev' + runs-on: ubuntu-latest + steps: + # Assume an AWS Role that provides access to the Access Token + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@8c3f20df09ac63af7b3ae3d7c91f105f857d8497 #v4 + with: + role-to-assume: ${{ secrets.RELEASE_WORKFLOW_ACCESS_TOKEN_ROLE_ARN }} + aws-region: us-west-2 + # Retrieve the Access Token from Secrets Manager + - name: Retrieve secret from AWS Secrets Manager + uses: aws-actions/aws-secretsmanager-get-secrets@v2 + with: + secret-ids: | + AWS_SECRET, ${{ secrets.RELEASE_WORKFLOW_ACCESS_TOKEN_NAME }} + parse-json-secrets: true + # Checkout a full clone of the repo + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: dev + fetch-depth: 0 + token: ${{ env.AWS_SECRET_TOKEN }} + # Install .NET8 which is needed for AutoVer + - name: Setup .NET 8.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + # Install AutoVer which is needed to retrieve information about the current release. + - name: Install AutoVer + run: dotnet tool install --global AutoVer --version 0.0.21 + # Set up a git user to be able to run git commands later on + - name: Setup Git User + run: | + git config --global user.email "github-aws-sdk-dotnet-automation@amazon.com" + git config --global user.name "aws-sdk-dotnet-automation" + # Retrieve the release name which is needed for the GitHub Release + - name: Read Release Name + id: read-release-name + run: | + version=$(autover changelog --release-name) + echo "VERSION=$version" >> $GITHUB_OUTPUT + # Retrieve the tag name which is needed for the GitHub Release + - name: Read Tag Name + id: read-tag-name + run: | + tag=$(autover changelog --tag-name) + echo "TAG=$tag" >> $GITHUB_OUTPUT + # Retrieve the changelog which is needed for the GitHub Release + - name: Read Changelog + id: read-changelog + run: | + changelog=$(autover changelog --output-to-console) + echo "CHANGELOG<> "$GITHUB_OUTPUT" + # Merge dev into master in order to synchronize the 2 branches + - name: Merge dev to master + run: | + git fetch origin + git checkout master + git merge dev + git push origin master + # Create the GitHub Release + - name: Create GitHub Release + env: + GITHUB_TOKEN: ${{ env.AWS_SECRET_TOKEN }} + run: | + gh release create "${{ steps.read-tag-name.outputs.TAG }}" --title "${{ steps.read-release-name.outputs.VERSION }}" --notes "${{ steps.read-changelog.outputs.CHANGELOG }}" + # Delete the `releases/next-release` branch + - name: Clean up + run: | + git fetch origin + git push origin --delete releases/next-release + # This job will check if the PR was closed, it's source branch is `releases/next-release` and target branch is `dev`. + # This indicates that the closed PR was the `Release PR`. + # This job will delete the tag created by AutoVer and the release branch. + clean-up-closed-release: + name: Clean up closed release + if: | + github.event.pull_request.merged == false && + github.event.pull_request.head.ref == 'releases/next-release' && + github.event.pull_request.base.ref == 'dev' + runs-on: ubuntu-latest + steps: + # Checkout a full clone of the repo + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: releases/next-release + fetch-depth: 0 + # Install .NET8 which is needed for AutoVer + - name: Setup .NET 8.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + # Install AutoVer which is needed to retrieve information about the current release. + - name: Install AutoVer + run: dotnet tool install --global AutoVer --version 0.0.21 + # Set up a git user to be able to run git commands later on + - name: Setup Git User + run: | + git config --global user.email "github-aws-sdk-dotnet-automation@amazon.com" + git config --global user.name "aws-sdk-dotnet-automation" + # Retrieve the tag name to be deleted + - name: Read Tag Name + id: read-tag-name + run: | + tag=$(autover changelog --tag-name) + echo "TAG=$tag" >> $GITHUB_OUTPUT + # Delete the tag created by AutoVer and the release branch + - name: Clean up + run: | + git fetch origin + git push --delete origin ${{ steps.read-tag-name.outputs.TAG }} + git push origin --delete releases/next-release \ No newline at end of file diff --git a/.gitignore b/.gitignore index ccc3420..7f018c1 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,7 @@ **/Deployment/ /src/AWS.Logger.Core/AWS.Logger.Core45.nuget.props *.props + +# JetBrains Rider +.idea/ +*.sln.iml \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..bfb5a68 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,404 @@ +## Release 2024-05-22 + +### AWS.Logger.Core (3.3.3) +* Delay initializing the internal CloudWatch Logs client until it is needed, as opposed to when the logger is constructed. This avoids a deadlock between AWS.Logger.Log4net while it is initializing and internal areas in the AWS SDK for .NET that use log4net for logging. +### AWS.Logger.AspNetCore (3.5.3) +* Updated to use latest version of AWS.Logger.Core +### AWS.Logger.Log4net (3.5.3) +* Updated to use latest version of AWS.Logger.Core +### AWS.Logger.NLog (3.3.4) +* Updated to use latest version of AWS.Logger.Core +### AWS.Logger.SeriLog (3.4.3) +* Updated to use latest version of AWS.Logger.Core + +## Release 2024-05-15 + +### AWS.Logger.NLog (3.3.3) +* PR [#263](https://github.com/aws/aws-logging-dotnet/pull/263), fixes issue of using layout logic for AuthenticationRegion. Thanks [Rolf Kristensen](https://github.com/snakefoot). + +## Release 2024-05-13 + +### AWS.Logger.Core (3.3.2) +* PR [#257](https://github.com/aws/aws-logging-dotnet/pull/257), fixes error when configured stream using the `LogStreamName` property already exists. Thanks [Michael Dimoudis](https://github.com/michaeldimoudis). +* Added new `AuthenticationRegion` property to set region to sign request when the region can not be detected by the configured endpoint for CloudWatch Logs. +### AWS.Logger.AspNetCore (3.5.2) +* Updated to use latest version of AWS.Logger.Core +### AWS.Logger.Log4net (3.5.2) +* Updated to use latest version of AWS.Logger.Core +### AWS.Logger.NLog (3.3.2) +* Updated to use latest version of AWS.Logger.Core +### AWS.Logger.SeriLog (3.4.2) +* Updated to use latest version of AWS.Logger.Core + +## Release 2024-04-22 + +### AWS.Logger.Core (3.3.1) +* Update User-Agent string +### AWS.Logger.AspNetCore (3.5.1) +* Update User-Agent string +### AWS.Logger.Log4net (3.5.1) +* Update User-Agent string +### AWS.Logger.NLog (3.3.1) +* Update User-Agent string +### AWS.Logger.SeriLog (3.4.1) +* Update User-Agent string + +## Release 2024-04-09 + +### AWS.Logger.Core (3.3.0) +* Adds a new `LogStreamName` setting, which allows configuring the full log stream name. When this is set `LogStreamNamePrefix` and `LogStreamNameSuffix` will be ignored. +### AWS.Logger.AspNetCore (3.5.0) +* Adds a new `LogStreamName` setting, which allows configuring the full log stream name. When this is set `LogStreamNamePrefix` and `LogStreamNameSuffix` will be ignored. +### AWS.Logger.Log4net (3.5.0) +* Adds a new `LogStreamName` setting, which allows configuring the full log stream name. When this is set `LogStreamNamePrefix` and `LogStreamNameSuffix` will be ignored. +### AWS.Logger.NLog (3.3.0) +* Adds a new `LogStreamName` setting, which allows configuring the full log stream name. When this is set `LogStreamNamePrefix` and `LogStreamNameSuffix` will be ignored. +### AWS.Logger.SeriLog (3.4.0) +* Adds a new `LogStreamName` setting, which allows configuring the full log stream name. When this is set `LogStreamNamePrefix` and `LogStreamNameSuffix` will be ignored. + +## Release 2023-09-14 + +### AWS.Logger.Core (3.2.1) +* Remove unused code from old .NET Standard 1.5 target. Pull Request [#229](https://github.com/aws/aws-logging-dotnet/pull/229). Thank you [@snakefoot](https://github.com/snakefoot). +### AWS.Logger.AspNetCore (3.4.1) +* Update NullExternalScopeProvider/NullScope handling for newer Microsoft.Extensions.Logging.Abstractions. Pull Request [#229](https://github.com/aws/aws-logging-dotnet/pull/229). Thank you [@snakefoot](https://github.com/snakefoot). +### AWS.Logger.Log4net (3.4.1) +* Correctly honor `NewLogGroupRetentionInDays` during initialization. Pull Request [#228](https://github.com/aws/aws-logging-dotnet/pull/228). Thank you [@snakefoot](https://github.com/snakefoot). +### AWS.Logger.NLog (3.2.1) +* Correctly honor `NewLogGroupRetentionInDays` during initialization. Pull Request [#228](https://github.com/aws/aws-logging-dotnet/pull/228). Thank you [@snakefoot](https://github.com/snakefoot). + +## Release 2023-08-23 + +### AWS.Logger.Core (3.2.0) +* Pull Request [#224](https://github.com/aws/aws-logging-dotnet/pull/224) Implementing Retention Policy to Cloudwatch. Thanks [Will](https://github.com/Will-Boulton) +### AWS.Logger.AspNetCore (3.4.0) +* Pull Request [#224](https://github.com/aws/aws-logging-dotnet/pull/224) Implementing Retention Policy to Cloudwatch. Thanks [Will](https://github.com/Will-Boulton) +### AWS.Logger.Log4net (3.4.0) +* Pull Request [#224](https://github.com/aws/aws-logging-dotnet/pull/224) Implementing Retention Policy to Cloudwatch. Thanks [Will](https://github.com/Will-Boulton) +### AWS.Logger.NLog (3.2.0) +* Pull Request [#224](https://github.com/aws/aws-logging-dotnet/pull/224) Implementing Retention Policy to Cloudwatch. Thanks [Will](https://github.com/Will-Boulton) +### AWS.Logger.SeriLog (3.3.0) +* Pull Request [#224](https://github.com/aws/aws-logging-dotnet/pull/224) Implementing Retention Policy to Cloudwatch. Thanks [Will](https://github.com/Will-Boulton) + +## Release 2023-01-10 + +### AWS.Logger.Log4net (3.3.1) +* Updated to version 2.0.15 of the log4net. + +## Release 2022-03-21 + +### AWS.Logger.Core (3.1.0) +* Fixed an issue where AddSingleMessage in AWSLoggerCore was using DateTime.Now instead of DateTime.UtcNow. +* Added support for configurable flush timeout. +### AWS.Logger.AspNetCore (3.3.0) +* Added support for configurable flush timeout. +### AWS.Logger.Log4net (3.3.0) +* Added support for configurable flush timeout. +### AWS.Logger.NLog (3.1.0) +* Added support for configurable flush timeout. +### AWS.Logger.SeriLog (3.2.0) +* Added support for configurable flush timeout. + +## Release 2021-06-23 + +### AWS.Logger.SeriLog (3.1.1) +* Fixed an issue where restrictedToMinimumLevel from appsettings.json was ignored. +* Updated to version 2.6.0 of Serilog. + +## Release 2021-05-21 + +### AWS.Logger.SeriLog (3.1.0) +* Added support for restrictedToMinimumLevel to SeriLog. + +## Release 2021-04-26 + +### AWS.Logger.Log4net (3.2.1) +* Updated to version 2.0.12 of the log4net. + +## Release 2021-04-02 + +### AWS.Logger.Core (3.0.0) +* Updated AWS SDK for .NET dependency to version 3.7. +* Removed support for .NET Standard 1.5. +### AWS.Logger.AspNetCore (3.2.0) +* Updated to latest AWS.Logger.Core. +### AWS.Logger.Log4net (3.2.0) +* Updated to latest AWS.Logger.Core. +### AWS.Logger.NLog (3.0.0) +* Updated to latest AWS.Logger.Core. +* Removed support for .NET Standard 1.5. +### AWS.Logger.SeriLog (3.0.0) +* Updated to latest AWS.Logger.Core. +* Removed support for .NET Standard 1.5. + +## Release 2021-03-24 + +### AWS.Logger.Core (2.1.0) +* Pull Request [#117](https://github.com/aws/aws-logging-dotnet/pull/117) Updated library with new property to disable library error logging. Thanks [Alex](https://github.com/aleybe) +### AWS.Logger.AspNetCore (3.1.0) +* Updated to latest AWS.Logger.Core and incorporate PR [#117](https://github.com/aws/aws-logging-dotnet/pull/117). +### AWS.Logger.Log4net (3.1.0) +* Updated to latest AWS.Logger.Core and incorporate PR [#117](https://github.com/aws/aws-logging-dotnet/pull/117). +### AWS.Logger.NLog (2.1.0) +* Updated to latest AWS.Logger.Core and incorporate PR [#117](https://github.com/aws/aws-logging-dotnet/pull/117). +### AWS.Logger.SeriLog (2.1.0) +* Updated to latest AWS.Logger.Core and incorporate PR [#117](https://github.com/aws/aws-logging-dotnet/pull/117). + +## Release 2021-01-29 + +### AWS.Logger.Log4net (3.0.0) +* Updated to version 2.0.10 of the log4net. Version 2.0.10 contains a security fix for [CVE-2018-1285](https://github.com/advisories/GHSA-2cwj-8chv-9pp9) +* Removed support for .NET Standard 1.5. + +## Release 2020-12-09 + +### AWS.Logger.Core (2.0.1) +* Merge PR [#134](https://github.com/aws/aws-logging-dotnet/pull/135) Handle ResourceNotFoundException whe CloudWatch Log stream is deleted. Thanks [Rolf Kristensen](https://github.com/snakefoot). +### AWS.Logger.AspNetCore (3.0.1) +* Updated to latest version of AWS.Logger.Core. +### AWS.Logger.Log4net (2.0.1) +* Updated to latest version of AWS.Logger.Core. +### AWS.Logger.NLog (2.0.1) +* Updated to latest version of AWS.Logger.Core. +### AWS.Logger.SeriLog (2.0.1) +* Updated to latest version of AWS.Logger.Core. + +## Release 2020-10-07 + +### AWS.Logger.Core (2.0.0) +* Updated AWS SDK for .NET dependency to version 3.5. +### AWS.Logger.AspNetCore (3.0.0) +* Updated AWS SDK for .NET dependency to version 3.5. +### AWS.Logger.Log4net (2.0.0) +* Updated AWS SDK for .NET dependency to version 3.5. +### AWS.Logger.NLog (2.0.0) +* Updated AWS SDK for .NET dependency to version 3.5. +### AWS.Logger.SeriLog (2.0.0) +* Updated AWS SDK for .NET dependency to version 3.5. + +## Release 2020-03-03 + +### AWS.Logger.Core (1.6.0) +* Merge PR [#94](https://github.com/aws/aws-logging-dotnet/pull/94) Added ability to set the ServiceUrl in AWSLoggerConfig to help support using LocalStack. Thanks [Rolf Kristensen](https://github.com/snakefoot). +### AWS.Logger.AspNetCore (2.2.0) +* Updated ILoggingBuilder extension method AddAWSProvider to work with .NET Core 3.X +* Added support to read ServiceUrl from IConfiguration +* Update to pull in latest AWS.Logger.Core version +### AWS.Logger.Log4net (1.5.2) +* Added support to read ServiceUrl from AWSAppender +* Update to pull in latest AWS.Logger.Core version +### AWS.Logger.NLog (1.5.2) +* Added support to read ServiceUrl from AWSTarget +* Update to pull in latest AWS.Logger.Core version +### AWS.Logger.SeriLog (1.5.2) +* Added support to read ServiceUrl from IConfiguration +* Update to pull in latest AWS.Logger.Core version + +## Release 2019-10-17 + +### AWS.Logger.Core (1.5.1) +* Merge PR https://github.com/aws/aws-logging-dotnet/pull/96 fixed issue with SendMessages timeout led to Monitor loop break. Thanks [dimmy-timmy](https://github.com/dimmy-timmy) +* Merge PR https://github.com/aws/aws-logging-dotnet/pull/99 add new DisableLogGroupCreation property to skip creating auto creating Log Group avoiding needing to give IAM permissions to manage Log Group. Thanks [Bart Piotrowski](https://github.com/bartpio) +### AWS.Logger.AspNetCore (2.1.1) +* Update to pull in latest AWS.Logger.Core version +### AWS.Logger.Log4net (1.5.1) +* Update to pull in latest AWS.Logger.Core version +### AWS.Logger.NLog (1.5.1) +* Update to pull in latest AWS.Logger.Core version +### AWS.Logger.SeriLog (1.5.1) +* Update to pull in latest AWS.Logger.Core version + +## Release 2019-06-27 + +### AWS.Logger.AspNetCore (2.0.0) +* New extension methods for ILoggingBuilder to register AWS.Logger.AspNetCore as a log provider. +* Added support for [Microsoft.Extensions.Logging.ISupportExternalScope](https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.isupportexternalscope) +* Switched default IConfiguration section root to the standard `Logging` root. The library will fallback to the legacy `AWS.Logging` if `LogGroup` is not set in `Logging`. +* Improve default formatting of log message with new options to include log level, category, event id and exception. View [README](https://github.com/aws/aws-logging-dotnet#aspnet-core-logging) for more information. +* Added missing ProfileLocation config setting +* New config setting for LogStreamNamePrefix +* Fixed issue with log filtering rules defined in IConfiguration not being evaluated correctly. +* Updated to version 1.4.0 of AWS.Logger.Core +* **Note:** Starting with version 2.0.0 this library targets **netstandard2.0** only and references the .NET Core 2.1 version of the Microsoft.Extensions.Logging. The library will work +in newer versions of .NET Core but for versions before .NET Core 2.1 you must use a version before 2.0.0 of AWS.Logger.AspNetCore. +### AWS.Logger.Core (1.4.0) +* Merged PR [#84](https://github.com/aws/aws-logging-dotnet/pull/84) adding support for user defined log stream prefix. Thanks [Bart Piotrowski](https://github.com/bartpio) +* Updated to latest version of AWSSDK.CloudWatchLogs and AWSSDK.Core to pick up fixes for AWS credential refreshing +### AWS.Logger.Log4net (1.4.0) +* New config property for LogStreamNamePrefix +* Updated to version 1.4.0 of AWS.Logger.Core +### AWS.Logger.NLog (1.4.0) +* New config property for LogStreamNamePrefix +* Updated to version 1.4.0 of AWS.Logger.Core +### AWS.Logger.SeriLog (1.4.0) +* Fixed issue [#89](https://github.com/aws/aws-logging-dotnet/issues/89) with appending exception to the end of the message when using JSON formatter causing creating an invalid JSON document. +* New config setting for Serilog:LogStreamNamePrefix +* Added missing ProfileLocation config setting +* Updated to version 1.4.0 of AWS.Logger.Core + +## Release 2019-05-15 + +### AWS.Logger.NLog (1.3.2) +* Merged PR https://github.com/aws/aws-logging-dotnet/pull/71 NLog AWSTarget apply Layout logic to config-properties. Thanks [Rolf Kristensen](https://github.com/snakefoot) + +## Release 2018-12-06 + +### AWS.Logger.Core (1.3.1) +* Merged PR https://github.com/aws/aws-logging-dotnet/pull/53 adding the ability to flush the queued messages. +Also improving shutdown behavior. Thanks [Rolf Kristensen](https://github.com/snakefoot) +### AWS.Logger.AspNetCore (1.4.1) +* Merged PR https://github.com/aws/aws-logging-dotnet/pull/46 adding support for scopes. Thanks [Stefan Over](https://github.com/Herdo) +* Bumped dependency of AWS.Logger.Core to 1.3.1 +### AWS.Logger.Log4net (1.3.1) +* Merged PR https://github.com/aws/aws-logging-dotnet/pull/59 updating to version 2.0.8 of Log4net. Thanks [Aaron Amm](https://github.com/aaronamm) +* Merged PR https://github.com/aws/aws-logging-dotnet/pull/59 with new Log4net sample. Thanks [Aaron Amm](https://github.com/aaronamm) +* Bumped dependency of AWS.Logger.Core to 1.3.1 +### AWS.Logger.NLog (1.3.1) +* Bumped dependency of AWS.Logger.Core to 1.3.1 +### AWS.Logger.SeriLog (1.2.1) +* Bumped dependency of AWS.Logger.Core to 1.3.1 + +## Release 2018-07-23 + +### AWS.Logger.Core (1.2.0) +* Break up large logging messages into sizes that CloudWatch Logs will accept. This change was done to handle the CloudwatchLogs restriction on the event size(256 KB as per https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html). This is addressing the following GitHub issue: https://github.com/aws/aws-logging-dotnet/issues/40 +* Added validation to uphold CloudwatchLogs restriction on the batch size(1 MB as per https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html). +### AWS.Logger.AspNetCore (1.3.0) +* Updated nuspec file with the updated AWS.Logger.Core version +### AWS.Logger.Log4net (1.2.0) +* Updated nuspec file with the updated AWS.Logger.Core version +### AWS.Logger.NLog (1.2.0) +* Updated nuspec file with the updated AWS.Logger.Core version +### AWS.Logger.SeriLog (1.1.0) +* Updated nuspec file with the updated AWS.Logger.Core version +* Merged in PR https://github.com/aws/aws-logging-dotnet/pull/41 for adding ITextFormatter to format log messages + +## Release 2018-02-23 + +### AWS.Logger.NLog (1.1.6) +* Changed dependency for NetStandard 1.5 from NLog 5 to Nlog 4.5 + +## Release 2018-02-22 + +### AWS.Logger.Core (1.1.7) +* Created AssemblyInfo.cs with correct version numbers +### AWS.Logger.AspNetCore (1.2.6) +* Created AssemblyInfo.cs with correct version numbers +* Updated nuspec file with the updated AWS.Logger.Core version +### AWS.Logger.Log4net (1.1.6) +* Created AssemblyInfo.cs with correct version numbers +* Updated nuspec file with the updated AWS.Logger.Core version +### AWS.Logger.NLog (1.1.5) +* Created AssemblyInfo.cs with correct version numbers +* Updated nuspec file with the updated AWS.Logger.Core version +### AWS.Logger.SeriLog (1.0.2) +* Created AssemblyInfo.cs with correct version numbers +* Updated nuspec file with the updated AWS.Logger.Core version + +## Release 2018-02-19 + +### AWS.Logger.Core (1.1.6) +* Fixes bug with logger background dying after an arbitrary amount of time. An exception would be thrown and since the catch was outside the main loop, the thread would exit. +* Simplified error handling from main loop +* Simplified main loop method by removing redundant checks +* Cancellation is not an error, and will no longer be logged as such. We were, but not consistently. + +## Release 2018-01-04 +* Modified AssemblyInfo.cs with correct version numbers for all the libraries +### AWS.Logger.Core (1.1.4) +* Modified AssemblyInfo.cs with correct version number +### AWS.Logger.AspNetCore (1.2.5) +* Created AssemblyInfo.cs with correct version numbers +* Updated nuspec file with the updated AWS.Logger.Core version +### AWS.Logger.Log4net (1.1.5) +* Created AssemblyInfo.cs with correct version numbers +* Updated nuspec file with the updated AWS.Logger.Core version +### AWS.Logger.NLog (1.1.4) +* Created AssemblyInfo.cs with correct version numbers +* Updated nuspec file with the updated AWS.Logger.Core version +### AWS.Logger.SeriLog (1.0.1) +* Created AssemblyInfo.cs with correct version numbers +* Updated nuspec file with the updated AWS.Logger.Core version + +## Release 2017-12-11 + +### AWS.Logger.SeriLog (1.0.0) +* Added support for SeriLog logging library. +### AWS.Logger.Log4net (1.1.4) +* Added support for Log4net logging library for NetStandard1.5 framework. + +## Release 2017-09-28 + +### AWS.Logger.AspNetCore (1.2.4) +* Added exception logging for default ASP.NET Core formatter. + +## Release 2017-08-22 + +### AWS.Logger.AspNetCore (1.2.2) +* Fixed issue with **Profile** setting not getting used. + +## Release 2017-07-25 + +### AWS.Logger.Core (1.1.3) +* Updated the logic in AWSLoggerCore for creating a logstream. AWSLoggerCore library will try to use the sequence token in the response message of a log PutLogEventsAsync request for a maximum of 5 attempts, before creating a new logstream. +### AWS.Logger.AspNetCore (1.2.2) +* Updated dependency to latest AWS.Logger.Core +### AWS.Logger.Log4net (1.1.3) +* Updated dependency to latest AWS.Logger.Core +### AWS.Logger.NLog (1.1.3) +* Updated dependency to latest AWS.Logger.Core + +## Release 2017-06-23 + +### AWS.Logger.Core (1.1.2) +* Pull request [#19](https://github.com/aws/aws-logging-dotnet/pull/19), fixing a NPE. Thanks to [Andrew Kazyrevich](https://github.com/andreister) +### AWS.Logger.AspNetCore (1.2.1) +* Updated dependency to latest AWS.Logger.Core +### AWS.Logger.Log4net (1.1.2) +* Updated dependency to latest AWS.Logger.Core +### AWS.Logger.NLog (1.1.2) +* Updated dependency to latest AWS.Logger.Core + +## Release 2017-06-22 + +### AWS.Logger.AspNetCore (1.2.0) +* Pull request [#14](https://github.com/aws/aws-logging-dotnet/pull/14), adding support for custom formatters. Thanks to [Peter Deme](https://github.com/peterdeme). + +## Release 2017-05-18 + +### AWS.Logger.Core (1.1.1) +* Added LibraryLogFileName property to log errors encountered by AWSLoggerCore +* Upgraded library to NetStandard1.5 framework to support System.Runtime.Loader v4.0.0 +### AWS.Logger.AspNetCore (1.1.1) +* Added LibraryLogFileName property to log errors encountered by AWSLoggerCore +* Upgraded library to NetStandard1.5 framework to match AWS.Logger.Core framework +### AWS.Logger.Log4net (1.1.1) +* Added LibraryLogFileName property to log errors encountered by AWSLoggerCore +### AWS.Logger.NLog (1.1.1) +* Added LibraryLogFileName property to log errors encountered by AWSLoggerCore +* Upgraded library to NetStandard1.5 framework to match AWS.Logger.Core framework +* Corrected NLog nuspec file to add NLog 4.4.9 for framework v4.5.2 +* Upgraded AWS.Logger.NLog netcore package NLog dependency from v4.4.0-beta5 to 5.0.0-beta07 + +## Release 2017-05-08 + +### AWS.Logger.Core (1.1.0) +* Added LogStreamNameSuffix property to custom name logStream on CloudWatchLogs +### AWS.Logger.AspNetCore (1.1.0) +* Added LogStreamNameSuffix property to custom name logStream on CloudWatchLogs +### AWS.Logger.Log4net (1.1.0) +* Added LogStreamNameSuffix property to custom name logStream on CloudWatchLogs +### AWS.Logger.NLog (1.1.0) +* Added LogStreamNameSuffix property to custom name logStream on CloudWatchLogs +* Corrected NLog nuspec file to show dependency on the AWS.Logger.Core + +## Release 2016-12-20 + +### AWS.Logger.Core (1.0.0) +* Initial Release +### AWS.Logger.AspNetCore (1.0.0) +* Initial Release +### AWS.Logger.Log4net (1.0.0) +* Initial Release +### AWS.Logger.NLog (1.0.0) +* Initial Release \ No newline at end of file diff --git a/RELEASE.CHANGELOG.md b/RELEASE.CHANGELOG.md deleted file mode 100644 index 42d4c53..0000000 --- a/RELEASE.CHANGELOG.md +++ /dev/null @@ -1,376 +0,0 @@ -### Release 2024-05-22 -* **AWS.Logger.Core (3.3.3)** - * Delay initializing the internal CloudWatch Logs client until it is needed, as opposed to when the logger is constructed. This avoids a deadlock between AWS.Logger.Log4net while it is initializing and internal areas in the AWS SDK for .NET that use log4net for logging. -* **AWS.Logger.AspNetCore (3.5.3)** - * Updated to use latest version of AWS.Logger.Core -* **AWS.Logger.Log4net (3.5.3)** - * Updated to use latest version of AWS.Logger.Core -* **AWS.Logger.NLog (3.3.4)** - * Updated to use latest version of AWS.Logger.Core -* **AWS.Logger.SeriLog (3.4.3)** - * Updated to use latest version of AWS.Logger.Core - -### Release 2024-05-15 -* **AWS.Logger.NLog (3.3.3)** - * PR [#263](https://github.com/aws/aws-logging-dotnet/pull/263), fixes issue of using layout logic for AuthenticationRegion. Thanks [Rolf Kristensen](https://github.com/snakefoot). - -### Release 2024-05-13 -* **AWS.Logger.Core (3.3.2)** - * PR [#257](https://github.com/aws/aws-logging-dotnet/pull/257), fixes error when configured stream using the `LogStreamName` property already exists. Thanks [Michael Dimoudis](https://github.com/michaeldimoudis). - * Added new `AuthenticationRegion` property to set region to sign request when the region can not be detected by the configured endpoint for CloudWatch Logs. -* **AWS.Logger.AspNetCore (3.5.2)** - * Updated to use latest version of AWS.Logger.Core -* **AWS.Logger.Log4net (3.5.2)** - * Updated to use latest version of AWS.Logger.Core -* **AWS.Logger.NLog (3.3.2)** - * Updated to use latest version of AWS.Logger.Core -* **AWS.Logger.SeriLog (3.4.2)** - * Updated to use latest version of AWS.Logger.Core - -### Release 2024-04-22 -* **AWS.Logger.Core (3.3.1)** - * Update User-Agent string -* **AWS.Logger.AspNetCore (3.5.1)** - * Update User-Agent string -* **AWS.Logger.Log4net (3.5.1)** - * Update User-Agent string -* **AWS.Logger.NLog (3.3.1)** - * Update User-Agent string -* **AWS.Logger.SeriLog (3.4.1)** - * Update User-Agent string - -### Release 2024-04-09 -* **AWS.Logger.Core (3.3.0)** - * Adds a new `LogStreamName` setting, which allows configuring the full log stream name. When this is set `LogStreamNamePrefix` and `LogStreamNameSuffix` will be ignored. -* **AWS.Logger.AspNetCore (3.5.0)** - * Adds a new `LogStreamName` setting, which allows configuring the full log stream name. When this is set `LogStreamNamePrefix` and `LogStreamNameSuffix` will be ignored. -* **AWS.Logger.Log4net (3.5.0)** - * Adds a new `LogStreamName` setting, which allows configuring the full log stream name. When this is set `LogStreamNamePrefix` and `LogStreamNameSuffix` will be ignored. -* **AWS.Logger.NLog (3.3.0)** - * Adds a new `LogStreamName` setting, which allows configuring the full log stream name. When this is set `LogStreamNamePrefix` and `LogStreamNameSuffix` will be ignored. -* **AWS.Logger.SeriLog (3.4.0)** - * Adds a new `LogStreamName` setting, which allows configuring the full log stream name. When this is set `LogStreamNamePrefix` and `LogStreamNameSuffix` will be ignored. - -### Release 2023-09-14 -* **AWS.Logger.Core (3.2.1)** - * Remove unused code from old .NET Standard 1.5 target. Pull Request [#229](https://github.com/aws/aws-logging-dotnet/pull/229). Thank you [@snakefoot](https://github.com/snakefoot). -* **AWS.Logger.AspNetCore (3.4.1)** - * Update NullExternalScopeProvider/NullScope handling for newer Microsoft.Extensions.Logging.Abstractions. Pull Request [#229](https://github.com/aws/aws-logging-dotnet/pull/229). Thank you [@snakefoot](https://github.com/snakefoot). -* **AWS.Logger.Log4net (3.4.1)** - * Correctly honor `NewLogGroupRetentionInDays` during initialization. Pull Request [#228](https://github.com/aws/aws-logging-dotnet/pull/228). Thank you [@snakefoot](https://github.com/snakefoot). -* **AWS.Logger.NLog (3.2.1)** - * Correctly honor `NewLogGroupRetentionInDays` during initialization. Pull Request [#228](https://github.com/aws/aws-logging-dotnet/pull/228). Thank you [@snakefoot](https://github.com/snakefoot). - -### Release 2023-08-23 -* **AWS.Logger.Core (3.2.0)** - * Pull Request [#224](https://github.com/aws/aws-logging-dotnet/pull/224) Implementing Retention Policy to Cloudwatch. Thanks [Will](https://github.com/Will-Boulton) -* **AWS.Logger.AspNetCore (3.4.0)** - * Pull Request [#224](https://github.com/aws/aws-logging-dotnet/pull/224) Implementing Retention Policy to Cloudwatch. Thanks [Will](https://github.com/Will-Boulton) -* **AWS.Logger.Log4net (3.4.0)** - * Pull Request [#224](https://github.com/aws/aws-logging-dotnet/pull/224) Implementing Retention Policy to Cloudwatch. Thanks [Will](https://github.com/Will-Boulton) -* **AWS.Logger.NLog (3.2.0)** - * Pull Request [#224](https://github.com/aws/aws-logging-dotnet/pull/224) Implementing Retention Policy to Cloudwatch. Thanks [Will](https://github.com/Will-Boulton) -* **AWS.Logger.SeriLog (3.3.0)** - * Pull Request [#224](https://github.com/aws/aws-logging-dotnet/pull/224) Implementing Retention Policy to Cloudwatch. Thanks [Will](https://github.com/Will-Boulton) - -### Release 2023-01-10 -* **AWS.Logger.Log4net (3.3.1)** - * Updated to version 2.0.15 of the log4net. - -### Release 2022-03-21 -* **AWS.Logger.Core (3.1.0)** - * Fixed an issue where AddSingleMessage in AWSLoggerCore was using DateTime.Now instead of DateTime.UtcNow. - * Added support for configurable flush timeout. -* **AWS.Logger.AspNetCore (3.3.0)** - * Added support for configurable flush timeout. -* **AWS.Logger.Log4net (3.3.0)** - * Added support for configurable flush timeout. -* **AWS.Logger.NLog (3.1.0)** - * Added support for configurable flush timeout. -* **AWS.Logger.SeriLog (3.2.0)** - * Added support for configurable flush timeout. - -### Release 2021-06-23 -* **AWS.Logger.SeriLog (3.1.1)** - * Fixed an issue where restrictedToMinimumLevel from appsettings.json was ignored. - * Updated to version 2.6.0 of Serilog. - -### Release 2021-05-21 -* **AWS.Logger.SeriLog (3.1.0)** - * Added support for restrictedToMinimumLevel to SeriLog. - -### Release 2021-04-26 -* **AWS.Logger.Log4net (3.2.1)** - * Updated to version 2.0.12 of the log4net. - -### Release 2021-04-02 -* **AWS.Logger.Core (3.0.0)** - * Updated AWS SDK for .NET dependency to version 3.7. - * Removed support for .NET Standard 1.5. -* **AWS.Logger.AspNetCore (3.2.0)** - * Updated to latest AWS.Logger.Core. -* **AWS.Logger.Log4net (3.2.0)** - * Updated to latest AWS.Logger.Core. -* **AWS.Logger.NLog (3.0.0)** - * Updated to latest AWS.Logger.Core. - * Removed support for .NET Standard 1.5. -* **AWS.Logger.SeriLog (3.0.0)** - * Updated to latest AWS.Logger.Core. - * Removed support for .NET Standard 1.5. - - -### Release 2021-03-24 -* **AWS.Logger.Core (2.1.0)** - * Pull Request [#117](https://github.com/aws/aws-logging-dotnet/pull/117) Updated library with new property to disable library error logging. Thanks [Alex](https://github.com/aleybe) -* **AWS.Logger.AspNetCore (3.1.0)** - * Updated to latest AWS.Logger.Core and incorporate PR [#117](https://github.com/aws/aws-logging-dotnet/pull/117). -* **AWS.Logger.Log4net (3.1.0)** - * Updated to latest AWS.Logger.Core and incorporate PR [#117](https://github.com/aws/aws-logging-dotnet/pull/117). -* **AWS.Logger.NLog (2.1.0)** - * Updated to latest AWS.Logger.Core and incorporate PR [#117](https://github.com/aws/aws-logging-dotnet/pull/117). -* **AWS.Logger.SeriLog (2.1.0)** - * Updated to latest AWS.Logger.Core and incorporate PR [#117](https://github.com/aws/aws-logging-dotnet/pull/117). - -### Release 2021-01-29 -* **AWS.Logger.Log4net (3.0.0)** - * Updated to version 2.0.10 of the log4net. Version 2.0.10 contains a security fix for [CVE-2018-1285](https://github.com/advisories/GHSA-2cwj-8chv-9pp9) - * Removed support for .NET Standard 1.5. - -### Release 2020-12-09 -* **AWS.Logger.Core (2.0.1)** - * Merge PR [#134](https://github.com/aws/aws-logging-dotnet/pull/135) Handle ResourceNotFoundException whe CloudWatch Log stream is deleted. Thanks [Rolf Kristensen](https://github.com/snakefoot). -* **AWS.Logger.AspNetCore (3.0.1)** - * Updated to latest version of AWS.Logger.Core. -* **AWS.Logger.Log4net (2.0.1)** - * Updated to latest version of AWS.Logger.Core. -* **AWS.Logger.NLog (2.0.1)** - * Updated to latest version of AWS.Logger.Core. -* **AWS.Logger.SeriLog (2.0.1)** - * Updated to latest version of AWS.Logger.Core. - - -### Release 2020-10-07 -* **AWS.Logger.Core (2.0.0)** - * Updated AWS SDK for .NET dependency to version 3.5. -* **AWS.Logger.AspNetCore (3.0.0)** - * Updated AWS SDK for .NET dependency to version 3.5. -* **AWS.Logger.Log4net (2.0.0)** - * Updated AWS SDK for .NET dependency to version 3.5. -* **AWS.Logger.NLog (2.0.0)** - * Updated AWS SDK for .NET dependency to version 3.5. -* **AWS.Logger.SeriLog (2.0.0)** - * Updated AWS SDK for .NET dependency to version 3.5. - - -### Release 2020-03-03 -* **AWS.Logger.Core (1.6.0)** - * Merge PR [#94](https://github.com/aws/aws-logging-dotnet/pull/94) Added ability to set the ServiceUrl in AWSLoggerConfig to help support using LocalStack. Thanks [Rolf Kristensen](https://github.com/snakefoot). -* **AWS.Logger.AspNetCore (2.2.0)** - * Updated ILoggingBuilder extension method AddAWSProvider to work with .NET Core 3.X - * Added support to read ServiceUrl from IConfiguration - * Update to pull in latest AWS.Logger.Core version -* **AWS.Logger.Log4net (1.5.2)** - * Added support to read ServiceUrl from AWSAppender - * Update to pull in latest AWS.Logger.Core version -* **AWS.Logger.NLog (1.5.2)** - * Added support to read ServiceUrl from AWSTarget - * Update to pull in latest AWS.Logger.Core version -* **AWS.Logger.SeriLog (1.5.2)** - * Added support to read ServiceUrl from IConfiguration - * Update to pull in latest AWS.Logger.Core version - - -### Release 2019-10-17 -* **AWS.Logger.Core (1.5.1)** - * Merge PR https://github.com/aws/aws-logging-dotnet/pull/96 fixed issue with SendMessages timeout led to Monitor loop break. Thanks [dimmy-timmy](https://github.com/dimmy-timmy) - * Merge PR https://github.com/aws/aws-logging-dotnet/pull/99 add new DisableLogGroupCreation property to skip creating auto creating Log Group avoiding needing to give IAM permissions to manage Log Group. Thanks [Bart Piotrowski](https://github.com/bartpio) -* **AWS.Logger.AspNetCore (2.1.1)** - * Update to pull in latest AWS.Logger.Core version -* **AWS.Logger.Log4net (1.5.1)** - * Update to pull in latest AWS.Logger.Core version -* **AWS.Logger.NLog (1.5.1)** - * Update to pull in latest AWS.Logger.Core version -* **AWS.Logger.SeriLog (1.5.1)** - * Update to pull in latest AWS.Logger.Core version - -### Release 2019-06-27 -* **AWS.Logger.AspNetCore (2.0.0)** - * New extension methods for ILoggingBuilder to register AWS.Logger.AspNetCore as a log provider. - * Added support for [Microsoft.Extensions.Logging.ISupportExternalScope](https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.isupportexternalscope) - * Switched default IConfiguration section root to the standard `Logging` root. The library will fallback to the legacy `AWS.Logging` if `LogGroup` is not set in `Logging`. - * Improve default formatting of log message with new options to include log level, category, event id and exception. View [README](https://github.com/aws/aws-logging-dotnet#aspnet-core-logging) for more information. - * Added missing ProfileLocation config setting - * New config setting for LogStreamNamePrefix - * Fixed issue with log filtering rules defined in IConfiguration not being evaluated correctly. - * Updated to version 1.4.0 of AWS.Logger.Core - * **Note:** Starting with version 2.0.0 this library targets **netstandard2.0** only and references the .NET Core 2.1 version of the Microsoft.Extensions.Logging. The library will work -in newer versions of .NET Core but for versions before .NET Core 2.1 you must use a version before 2.0.0 of AWS.Logger.AspNetCore. -* **AWS.Logger.Core (1.4.0)** - * Merged PR [#84](https://github.com/aws/aws-logging-dotnet/pull/84) adding support for user defined log stream prefix. Thanks [Bart Piotrowski](https://github.com/bartpio) - * Updated to latest version of AWSSDK.CloudWatchLogs and AWSSDK.Core to pick up fixes for AWS credential refreshing -* **AWS.Logger.Log4net (1.4.0)** - * New config property for LogStreamNamePrefix - * Updated to version 1.4.0 of AWS.Logger.Core -* **AWS.Logger.NLog (1.4.0)** - * New config property for LogStreamNamePrefix - * Updated to version 1.4.0 of AWS.Logger.Core -* **AWS.Logger.SeriLog (1.4.0)** - * Fixed issue [#89](https://github.com/aws/aws-logging-dotnet/issues/89) with appending exception to the end of the message when using JSON formatter causing creating an invalid JSON document. - * New config setting for Serilog:LogStreamNamePrefix - * Added missing ProfileLocation config setting - * Updated to version 1.4.0 of AWS.Logger.Core - - -### Release 2019-05-15 -* **AWS.Logger.NLog (1.3.2)** - * Merged PR https://github.com/aws/aws-logging-dotnet/pull/71 NLog AWSTarget apply Layout logic to config-properties. Thanks [Rolf Kristensen](https://github.com/snakefoot) - -### Release 2018-12-06 -* **AWS.Logger.Core (1.3.1)** - * Merged PR https://github.com/aws/aws-logging-dotnet/pull/53 adding the ability to flush the queued messages. -Also improving shutdown behavior. Thanks [Rolf Kristensen](https://github.com/snakefoot) -* **AWS.Logger.AspNetCore (1.4.1)** - * Merged PR https://github.com/aws/aws-logging-dotnet/pull/46 adding support for scopes. Thanks [Stefan Over](https://github.com/Herdo) - * Bumped dependency of AWS.Logger.Core to 1.3.1 -* **AWS.Logger.Log4net (1.3.1)** - * Merged PR https://github.com/aws/aws-logging-dotnet/pull/59 updating to version 2.0.8 of Log4net. Thanks [Aaron Amm](https://github.com/aaronamm) - * Merged PR https://github.com/aws/aws-logging-dotnet/pull/59 with new Log4net sample. Thanks [Aaron Amm](https://github.com/aaronamm) - * Bumped dependency of AWS.Logger.Core to 1.3.1 -* **AWS.Logger.NLog (1.3.1)** - * Bumped dependency of AWS.Logger.Core to 1.3.1 -* **AWS.Logger.SeriLog (1.2.1)** - * Bumped dependency of AWS.Logger.Core to 1.3.1 - - -### Release 2018-07-23 -* **AWS.Logger.Core (1.2.0)** - * Break up large logging messages into sizes that CloudWatch Logs will accept. This change was done to handle the CloudwatchLogs restriction on the event size(256 KB as per https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html). This is addressing the following GitHub issue: https://github.com/aws/aws-logging-dotnet/issues/40 - * Added validation to uphold CloudwatchLogs restriction on the batch size(1 MB as per https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html). -* **AWS.Logger.AspNetCore (1.3.0)** - * Updated nuspec file with the updated AWS.Logger.Core version -* **AWS.Logger.Log4net (1.2.0)** - * Updated nuspec file with the updated AWS.Logger.Core version -* **AWS.Logger.NLog (1.2.0)** - * Updated nuspec file with the updated AWS.Logger.Core version -* **AWS.Logger.SeriLog (1.1.0)** - * Updated nuspec file with the updated AWS.Logger.Core version - * Merged in PR https://github.com/aws/aws-logging-dotnet/pull/41 for adding ITextFormatter to format log messages - -### Release 2018-02-23 -* **AWS.Logger.NLog (1.1.6)** - * Changed dependency for NetStandard 1.5 from NLog 5 to Nlog 4.5 - -### Release 2018-02-22 -* **AWS.Logger.Core (1.1.7)** - * Created AssemblyInfo.cs with correct version numbers -* **AWS.Logger.AspNetCore (1.2.6)** - * Created AssemblyInfo.cs with correct version numbers - * Updated nuspec file with the updated AWS.Logger.Core version -* **AWS.Logger.Log4net (1.1.6)** - * Modified AssemblyInfo.cs with correct version numbers - * Updated nuspec file with the updated AWS.Logger.Core version -* **AWS.Logger.NLog (1.1.5)** - * Modified AssemblyInfo.cs with correct version numbers - * Updated nuspec file with the updated AWS.Logger.Core version -* **AWS.Logger.SeriLog (1.0.2)** - * Modified AssemblyInfo.cs with correct version numbers - * Updated nuspec file with the updated AWS.Logger.Core version - - -### Release 2018-02-19 -* **AWS.Logger.Core (1.1.6)** -* Fixes bug with logger background dying after an arbitrary amount of time. An exception would be thrown and since the catch was outside the main loop, the thread would exit. -* Simplified error handling from main loop -* Simplified main loop method by removing redundant checks -* Cancellation is not an error, and will no longer be logged as such. We were, but not consistently. - -### Release 2018-01-04 00:02 UTC -* Modified AssemblyInfo.cs with correct version numbers for all the libraries -* **AWS.Logger.Core (1.1.4)** - * Modified AssemblyInfo.cs with correct version number -* **AWS.Logger.AspNetCore (1.2.5)** - * Created AssemblyInfo.cs with correct version numbers - * Updated nuspec file with the updated AWS.Logger.Core version -* **AWS.Logger.Log4net (1.1.5)** - * Modified AssemblyInfo.cs with correct version numbers - * Updated nuspec file with the updated AWS.Logger.Core version -* **AWS.Logger.NLog (1.1.4)** - * Modified AssemblyInfo.cs with correct version numbers - * Updated nuspec file with the updated AWS.Logger.Core version -* **AWS.Logger.SeriLog (1.0.1)** - * Modified AssemblyInfo.cs with correct version numbers - * Updated nuspec file with the updated AWS.Logger.Core version - -### Release 2017-12-11 00:02 UTC -* **AWS.Logger.SeriLog (1.0.0)** - * Added support for SeriLog logging library. -* **AWS.Logger.Log4net (1.1.4)** - * Added support for Log4net logging library for NetStandard1.5 framework. - -### Release 2017-09-28 00:02 UTC -* **AWS.Logger.AspNetCore (1.2.4)** - * Added exception logging for default ASP.NET Core formatter. - -### Release 2017-08-22 00:02 UTC -* **AWS.Logger.AspNetCore (1.2.2)** - * Fixed issue with **Profile** setting not getting used. - -### Release 2017-07-25 10:30 UTC -* **AWS.Logger.Core (1.1.3)** - * Updated the logic in AWSLoggerCore for creating a logstream. AWSLoggerCore library will try to use the sequence token in the response message of a log PutLogEventsAsync request for a maximum of 5 attempts, before creating a new logstream. -* **AWS.Logger.AspNetCore (1.2.2)** - * Updated dependency to latest AWS.Logger.Core -* **AWS.Logger.Log4net (1.1.3)** - * Updated dependency to latest AWS.Logger.Core -* **AWS.Logger.NLog (1.1.3)** - * Updated dependency to latest AWS.Logger.Core - -### Release 2017-06-23 21:30 UTC -* **AWS.Logger.Core (1.1.2)** - * Pull request [#19](https://github.com/aws/aws-logging-dotnet/pull/19), fixing a NPE. Thanks to [Andrew Kazyrevich](https://github.com/andreister) -* **AWS.Logger.AspNetCore (1.2.1)** - * Updated dependency to latest AWS.Logger.Core -* **AWS.Logger.Log4net (1.1.2)** - * Updated dependency to latest AWS.Logger.Core -* **AWS.Logger.NLog (1.1.2)** - * Updated dependency to latest AWS.Logger.Core - -### Release 2017-06-22 21:30 UTC -* **AWS.Logger.AspNetCore (1.2.0)** - * Pull request [#14](https://github.com/aws/aws-logging-dotnet/pull/14), adding support for custom formatters. Thanks to [Peter Deme](https://github.com/peterdeme). - -### Release 2017-05-18 14:30 UTC -* **AWS.Logger.Core (1.1.1)** - * Added LibraryLogFileName property to log errors encountered by AWSLoggerCore - * Upgraded library to NetStandard1.5 framework to support System.Runtime.Loader v4.0.0 -* **AWS.Logger.AspNetCore (1.1.1)** - * Added LibraryLogFileName property to log errors encountered by AWSLoggerCore - * Upgraded library to NetStandard1.5 framework to match AWS.Logger.Core framework -* **AWS.Logger.Log4net (1.1.1)** - * Added LibraryLogFileName property to log errors encountered by AWSLoggerCore -* **AWS.Logger.NLog (1.1.1)** - * Added LibraryLogFileName property to log errors encountered by AWSLoggerCore - * Upgraded library to NetStandard1.5 framework to match AWS.Logger.Core framework - * Corrected NLog nuspec file to add NLog 4.4.9 for framework v4.5.2 - * Upgraded AWS.Logger.NLog netcore package NLog dependency from v4.4.0-beta5 to 5.0.0-beta07 - -### Release 2017-05-08 14:30 UTC -* **AWS.Logger.Core (1.1.0)** - * Added LogStreamNameSuffix property to custom name logStream on CloudWatchLogs -* **AWS.Logger.AspNetCore (1.1.0)** - * Added LogStreamNameSuffix property to custom name logStream on CloudWatchLogs -* **AWS.Logger.Log4net (1.1.0)** - * Added LogStreamNameSuffix property to custom name logStream on CloudWatchLogs -* **AWS.Logger.NLog (1.1.0)** - * Added LogStreamNameSuffix property to custom name logStream on CloudWatchLogs - * Corrected NLog nuspec file to show dependency on the AWS.Logger.Core - -### Release 2016-12-20 09:00 UTC -* **AWS.Logger.Core (1.0.0)** - * Initial Release -* **AWS.Logger.AspNetCore (1.0.0)** - * Initial Release -* **AWS.Logger.Log4net (1.0.0)** - * Initial Release -* **AWS.Logger.NLog (1.0.0)** - * Initial Release