Make it possible to publish to NuGet
diff --git a/csharp/rocketmq-client-csharp/MqLogManager.cs b/csharp/rocketmq-client-csharp/MqLogManager.cs
index 6b117ea..41ebf5c 100644
--- a/csharp/rocketmq-client-csharp/MqLogManager.cs
+++ b/csharp/rocketmq-client-csharp/MqLogManager.cs
@@ -16,10 +16,11 @@
  */
 
 using System;
-using System.IO;
-using System.Reflection;
 using NLog;
 using NLog.Config;
+using NLog.Layouts;
+using NLog.Targets;
+using NLog.Targets.Wrappers;
 
 namespace Org.Apache.Rocketmq
 {
@@ -36,12 +37,43 @@
 
         private static LogFactory BuildLogFactory()
         {
-            // Use name of current assembly to construct NLog config filename 
-            var thisAssembly = Assembly.GetExecutingAssembly();
-            var configFilePath = Path.ChangeExtension(thisAssembly.Location, ".nlog");
+            var config = new LoggingConfiguration();
+            var fileTarget = new FileTarget();
+            fileTarget.Name = "log_file";
+            fileTarget.FileName =
+                new SimpleLayout("${specialfolder:folder=UserProfile}/logs/rocketmq/rocketmq-client.log");
+            fileTarget.Layout =
+                new SimpleLayout(
+                    "${longdate} ${level:uppercase=true:padding=-5} [${processid}] [${threadid}] [${callsite}:${callsite-linenumber}] ${message} ${onexception:${exception:format=ToString,Data}}");
+            fileTarget.ArchiveFileName =
+                new SimpleLayout("${specialfolder:folder=UserProfile}/logs/rocketmq/rocketmq-client.{######}.log");
+            fileTarget.ArchiveAboveSize = 67108864;
+            fileTarget.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence;
+            fileTarget.MaxArchiveFiles = 10;
+            fileTarget.ConcurrentWrites = true;
+            fileTarget.KeepFileOpen = false;
+
+            var asyncTargetWrapper = new AsyncTargetWrapper(fileTarget);
+            asyncTargetWrapper.Name = "asyncFile";
+            config.AddTarget(asyncTargetWrapper);
+
+            var consoleTarget = new ColoredConsoleTarget();
+            consoleTarget.Name = "colorConsole";
+            consoleTarget.UseDefaultRowHighlightingRules = true;
+            consoleTarget.Layout =
+                new SimpleLayout(
+                    "${longdate} ${level:uppercase=true:padding=-5} [${processid}] [${threadid}] [${callsite}:${callsite-linenumber}] ${message} ${onexception:${exception:format=ToString,Data}}");
+
+            config.AddTarget(consoleTarget);
+
+            var asyncFileRule = new LoggingRule("*", LogLevel.FromString("Debug"), asyncTargetWrapper);
+            config.LoggingRules.Add(asyncFileRule);
+
+            var consoleRule = new LoggingRule("*", LogLevel.FromString("Debug"), consoleTarget);
+            config.LoggingRules.Add(consoleRule);
 
             var logFactory = new LogFactory();
-            logFactory.Configuration = new XmlLoggingConfiguration(configFilePath, logFactory);
+            logFactory.Configuration = config;
             return logFactory;
         }
     }
diff --git a/csharp/rocketmq-client-csharp/rocketmq-client-csharp.csproj b/csharp/rocketmq-client-csharp/rocketmq-client-csharp.csproj
index 75b600f..93095c6 100644
--- a/csharp/rocketmq-client-csharp/rocketmq-client-csharp.csproj
+++ b/csharp/rocketmq-client-csharp/rocketmq-client-csharp.csproj
@@ -1,17 +1,23 @@
 <Project Sdk="Microsoft.NET.Sdk">

 

   <PropertyGroup>

-    <PackageId>RocketMQ-Client-CSharp</PackageId>

-    <Version>5.0.1</Version>

+    <PackageId>RocketMQ.Client</PackageId>

+    <Version>0.0.1-SNAPSHOT</Version>

 

-    <Authors>Zhanhui Li</Authors>

+    <Authors>RocketMQ Authors</Authors>

     <Company>Apache Software Foundation</Company>

     <TargetFramework>net5.0</TargetFramework>

+    <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>

     <RootNamespace>Org.Apache.Rocketmq</RootNamespace>

+    <PackageReadmeFile>README.md</PackageReadmeFile>

     <GeneratePackageOnBuild>true</GeneratePackageOnBuild>

+    <Description>.NET Client for Apache RocketMQ</Description>

+    <PackageProjectUrl>https://github.com/apache/rocketmq-clients</PackageProjectUrl>

+    <RepositoryUrl>https://github.com/apache/rocketmq-clients</RepositoryUrl>

   </PropertyGroup>

 

   <ItemGroup>

+    <None Include="..\README.md" Pack="true" PackagePath="\"/>

     <PackageReference Include="Crc32.NET" Version="1.2.0" />

     <PackageReference Include="Google.Protobuf" Version="3.19.4" />

     <PackageReference Include="Grpc.Net.Client" Version="2.43.0" />