You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> Read article: [Announcing .NET 8](https://devblogs.microsoft.com/dotnet/announcing-dotnet-8/) by Gaurav Seth, on November 14th, 2023
1
+
## October 2023 (version {0}) aka [Swiss Locomotive](https://en.wikipedia.org/wiki/SBB-CFF-FFS_Ae_6/6) release
2
+
> Codenamed as **[Swiss Locomotive](https://www.google.com/search?q=swiss+locomotive)**
3
3
4
-
### About
5
-
We are pleased to announce to you that we can now offer the support of [.NET 8](https://dotnet.microsoft.com/en-us/download).
6
-
But that is not all, in this release, we are adopting support of several versions of the .NET framework through [multitargeting](https://learn.microsoft.com/en-us/dotnet/standard/frameworks).
7
-
The Ocelot distribution is now compatible with .NET **6**, **7** and **8**. :tada:
4
+
### Focused On
5
+
<details>
6
+
<summary><b>Logging feature</b>. Performance review, redesign and improvements with new best practices to log</summary>
8
7
9
-
In the future, we will try to ensure the support of the [.NET SDKs](https://dotnet.microsoft.com/en-us/download/dotnet) that are still actively maintained by the .NET team and community.
10
-
Current .NET versions in support are the following: [6, 7, 8](https://dotnet.microsoft.com/en-us/download/dotnet).
8
+
- Proposing a centralized `WriteLog` method for the `OcelotLogger`
9
+
- Factory methods for computed strings such as `string.Format` or interpolated strings
10
+
- Using `ILogger.IsEnabled` before calling the native `WriteLog` implementation and invoking string factory method
11
+
</details>
12
+
<details>
13
+
<summary><b>Quality of Service feature</b>. Redesign and stabilization, and it produces less log records now.</summary>
14
+
15
+
- Fixing issue with [Polly](https://www.thepollyproject.org/) Circuit Breaker not opening after max number of retries reached
16
+
- Removing useless log calls that could have an impact on performance
17
+
- Polly [lib](https://www.nuget.org/packages/Polly#versions-body-tab) reference updating to latest `8.2.0` with some code improvements
18
+
</details>
19
+
<details>
20
+
<summary>Documentation for <b>Logging</b>, <b>Request ID</b>, <b>Routing</b> and <b>Websockets</b></summary>
<summary>Testing improvements and stabilization aka <b>bug fixing</b></summary>
11
29
12
-
### Technical info
13
-
As an ASP.NET Core app, now Ocelot targets `net6.0`, `net7.0` and `net8.0` frameworks.
14
-
15
-
Starting with **v{0}**, the solution's code base supports [Multitargeting](https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-multitargeting-overview) as SDK-style projects.
16
-
It should be easier for teams to move between (migrate to) .NET 6, 7 and 8 frameworks. Also, new features will be available for all .NET SDKs which we support via multitargeting.
17
-
Find out more here: [Target frameworks in SDK-style projects](https://learn.microsoft.com/en-us/dotnet/standard/frameworks)
30
+
-[Routing](https://ocelot.readthedocs.io/en/latest/features/routing.html) bug fixing: query string placeholders including **CatchAll** one aka `{{everything}}` and query string duplicates removal
Copy file name to clipboardexpand all lines: docs/features/logging.rst
+6-2
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,8 @@ Every log record has these 2 properties:
24
24
As an ``IOcelotLogger`` interface object being injected to constructors of service classes, current default Ocelot logger (``OcelotLogger`` class) reads these 2 properties from the ``IRequestScopedDataRepository`` interface object.
25
25
Find out more about these properties and other details on the *Request ID* logging feature in the :doc:`../features/requestid` chapter.
26
26
27
+
.. _logging-warning:
28
+
27
29
Warning
28
30
-------
29
31
@@ -34,7 +36,9 @@ The team has had so many issues about performance issues with Ocelot and it is a
34
36
* Use ``Error`` and ``Critical`` levels in production environment!
35
37
* Use ``Warning`` level in testing & staging environments!
36
38
37
-
These and other recommendations are below in the `Best Practices <#best-practices>`_ section.
39
+
These and other recommendations are below in the :ref:`logging-best-practices` section.
40
+
41
+
.. _logging-best-practices:
38
42
39
43
Best Practices
40
44
--------------
@@ -88,7 +92,7 @@ Second
88
92
^^^^^^
89
93
90
94
Ensure proper usage of minimum logging level for each environment: development, testing, production, etc.
91
-
So, once again, read important notes of the `Warning <#warning>`_ section!
95
+
So, once again, read important notes of the :ref:`logging-warning` section!
0 commit comments