瀏覽代碼

add releasenotes.md to Console

add severity filtering to ConsoleLogger
Dalibor Votruba 2 年之前
父節點
當前提交
d9be207959

+ 15 - 0
qdr.fnd.core.qconsole/qdr.fnd.core.qconsole.csproj

@@ -19,8 +19,16 @@
     <FileVersion>0.0.2.0</FileVersion>
     <Version>0.0.2.0-alpha</Version>
     <Nullable>enable</Nullable>
+    <PackageReadmeFile>releasenotes.md</PackageReadmeFile>
   </PropertyGroup>
 
+
+  <ItemGroup>
+    <Content Include="releasenotes.md">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+
   <ItemGroup>
     <None Include="..\quadarax_dll.png">
       <Pack>True</Pack>
@@ -32,4 +40,11 @@
     <PackageReference Include="qdr.fnd.core" Version="0.0.2-alpha" />
   </ItemGroup>
 
+  <ItemGroup>
+    <None Update="releasenotes.md">
+      <Pack>True</Pack>
+      <PackagePath>\</PackagePath>
+    </None>
+  </ItemGroup>
+
 </Project>

+ 1 - 1
qdr.fnd.core.qconsole/releasenotes.md

@@ -2,7 +2,7 @@
 Ordered by version descending
 
 ## 0.0.2.0
-Date:__10.2.2023__
+Date:__2.10.2023__
 - update dependency to qdr.fnd.core v.0.0.2.0
 - add DefaultLoggerFactory to StartupConfiguration, add Log virtual method to AbstractCommand - use logger from DefaultLoggerFactory
 - fix quality CA

+ 12 - 8
qdr.fnd.core/Logging/ConsoleLog.cs

@@ -5,21 +5,22 @@ namespace Quadarax.Foundation.Core.Logging
 {
     public class ConsoleLog : ILog
     {
-        private string _typeName;
+        private readonly string _typeName;
+        private readonly LogSeverityEnum[]? _excludeSeverities;
 
-		private ConsoleWriter _infoWriter = new ConsoleWriter(ConsoleColor.White);
-        private ConsoleWriter _debugWriter = new ConsoleWriter(ConsoleColor.Green);
-        private ConsoleWriter _warnWriter = new ConsoleWriter(ConsoleColor.Yellow);
-        private ConsoleWriter _errorWriter = new ConsoleWriter(ConsoleColor.Red);
+		private readonly ConsoleWriter _infoWriter = new ConsoleWriter(ConsoleColor.White);
+        private readonly ConsoleWriter _debugWriter = new ConsoleWriter(ConsoleColor.Green);
+        private readonly ConsoleWriter _warnWriter = new ConsoleWriter(ConsoleColor.Yellow);
+        private readonly ConsoleWriter _errorWriter = new ConsoleWriter(ConsoleColor.Red);
         private ConsoleWriter _traceWriter = new ConsoleWriter(ConsoleColor.DarkGray);
-        public ConsoleLog(Type owningType)
+        public ConsoleLog(Type owningType, LogSeverityEnum[]? excludedSeverities = null) : this(owningType.Name, excludedSeverities)
         {
-            _typeName = owningType.Name;
         }
 
-        public ConsoleLog(string owningTypeName)
+        public ConsoleLog(string owningTypeName, LogSeverityEnum[]? excludedSeverities = null)
         {
             _typeName = owningTypeName;
+            _excludeSeverities = excludedSeverities;
         }
 
         public void Log(LogSeverityEnum severity, int code, string message)
@@ -29,6 +30,9 @@ namespace Quadarax.Foundation.Core.Logging
 
         public void Log(LogSeverityEnum severity, string message)
         {
+            if (_excludeSeverities != null && Array.IndexOf(_excludeSeverities, severity) >= 0)
+                return;
+
             var now = DateTime.Now;
             var thNum = System.Threading.Thread.CurrentThread.ManagedThreadId;
 

+ 9 - 2
qdr.fnd.core/Logging/ConsoleLogger.cs

@@ -5,14 +5,21 @@ namespace Quadarax.Foundation.Core.Logging
 {
     public class ConsoleLogger : ILogger
     {
+        private LogSeverityEnum[] _excludeSeverities;
+
+        public ConsoleLogger(params LogSeverityEnum[] excludeSeverities)
+        {
+            _excludeSeverities = excludeSeverities;
+        }
+
         public ILog GetLogger(string loggerName)
         {
-            return new ConsoleLog(loggerName);
+            return new ConsoleLog(loggerName, _excludeSeverities);
         }
 
         public ILog GetLogger(Type loggerForType)
         {
-            return new ConsoleLog(loggerForType);
+            return new ConsoleLog(loggerForType, _excludeSeverities);
         }
     }
 }

+ 2 - 1
qdr.fnd.core/releasenotes.md

@@ -2,12 +2,13 @@
 Ordered by version descending
 
 ## 0.0.2.0
-Date:__30.9.2023__
+Date:__2.10.2023__
 - extends Thread/LoopWorker to support external ansync iteration body expression
 - fix Thread/ContiguousWorker to support external ansync iteration body expression
 - add Thread/BasicWorkerContext and extends IWorkerContext to stores CancellationToken
 - extends Thread/AbstractWorker to work with default IWorkerContext, make public AbstractWorker.Context
 - add Json/Extensions/JsonDocumentExt.Diff function to compare two JsonDocument
+- extends Logging/ConsoleLogger to support exclude filter in initialization
 - fix quality CA
 - minor fixes
 ---