内网细节修改
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 17
|
# Visual Studio Version 16
|
||||||
VisualStudioVersion = 17.1.32421.90
|
VisualStudioVersion = 16.0.31624.102
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Getf_Service_Transfer_core_client", "Getf_Service_Transfer_core_client\Getf_Service_Transfer_core_client.csproj", "{F037E01A-741E-490C-91F0-76D97137DFA6}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Getf_Service_Transfer_core_client", "Getf_Service_Transfer_core_client\Getf_Service_Transfer_core_client.csproj", "{F037E01A-741E-490C-91F0-76D97137DFA6}"
|
||||||
EndProject
|
EndProject
|
||||||
|
|||||||
@@ -51,15 +51,16 @@ namespace Getf_Service_Transfer_Client_Service_HttpHandler
|
|||||||
{
|
{
|
||||||
var requestStream = httpWebRequest.GetRequestStream();
|
var requestStream = httpWebRequest.GetRequestStream();
|
||||||
SetRequestStream(httpWebRequest, requestStream, jObject, encoding);
|
SetRequestStream(httpWebRequest, requestStream, jObject, encoding);
|
||||||
r = GetResponse(httpWebRequest, encoding);
|
r = GetResponse(httpWebRequest, jObject, encoding);
|
||||||
requestStream.Close();
|
requestStream.Close();
|
||||||
requestStream.Dispose();
|
requestStream.Dispose();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
r = GetResponse(httpWebRequest, encoding);
|
r = GetResponse(httpWebRequest, null, encoding);
|
||||||
}
|
}
|
||||||
msg = String.Empty;
|
msg = String.Empty;
|
||||||
|
_LogHelper.Info($"93段接口:method:{method},url:{url},参数:{jObject["Data"]},结果:{r}");
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
catch (WebException e)
|
catch (WebException e)
|
||||||
@@ -72,20 +73,20 @@ namespace Getf_Service_Transfer_Client_Service_HttpHandler
|
|||||||
using (StreamReader streamReader = new StreamReader(stream))
|
using (StreamReader streamReader = new StreamReader(stream))
|
||||||
{
|
{
|
||||||
msg += streamReader.ReadToEnd();
|
msg += streamReader.ReadToEnd();
|
||||||
_LogHelper.Info("请求错误原因为:" + msg);
|
_LogHelper.Info("1:请求错误原因为:" + msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
msg += e.Message;
|
msg += e.Message;
|
||||||
_LogHelper.Info("请求错误原因为:" + msg);
|
_LogHelper.Info("2:请求错误原因为:" + msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
msg = e.Message;
|
msg = e.Message;
|
||||||
_LogHelper.Info("请求错误原因为:" + msg);
|
_LogHelper.Info("3:请求错误原因为:" + msg);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -126,12 +127,21 @@ namespace Getf_Service_Transfer_Client_Service_HttpHandler
|
|||||||
{
|
{
|
||||||
var param = jObject["Param"]?.Value<string>() ?? String.Empty;
|
var param = jObject["Param"]?.Value<string>() ?? String.Empty;
|
||||||
streamWrite.Write(param);
|
streamWrite.Write(param);
|
||||||
|
|
||||||
|
var jdata = jObject["Data"];
|
||||||
|
if (jdata != null)
|
||||||
|
{
|
||||||
|
var Data = jdata.ToString();
|
||||||
|
var _bytes = encoding.GetBytes(Data);
|
||||||
|
httpWebRequest.ContentLength = _bytes.Length;
|
||||||
|
requestStream.Write(_bytes, 0, _bytes.Length);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static readonly string[] TextContentTypes = new string[] { "application/json", "text/html" };
|
private static readonly string[] TextContentTypes = new string[] { "application/json", "text/html" };
|
||||||
|
|
||||||
private object GetResponse(HttpWebRequest httpWebRequest, Encoding encoding)
|
private object GetResponse(HttpWebRequest httpWebRequest, JObject jObject, Encoding encoding)
|
||||||
{
|
{
|
||||||
var response = httpWebRequest.GetResponse();
|
var response = httpWebRequest.GetResponse();
|
||||||
using (var stream = response.GetResponseStream())
|
using (var stream = response.GetResponseStream())
|
||||||
|
|||||||
@@ -21,134 +21,137 @@ namespace Getf_Service_Transfer_Client_coreService
|
|||||||
{
|
{
|
||||||
public class ClientService : IDisposable
|
public class ClientService : IDisposable
|
||||||
{
|
{
|
||||||
private DateTime LastRecvTime = DateTime.Now;
|
private DateTime LastRecvTime = DateTime.Now;
|
||||||
LogHelper _LogHelper = new LogHelper();
|
LogHelper _LogHelper = new LogHelper();
|
||||||
private readonly IDataHandler DataHandler;
|
private readonly IDataHandler DataHandler;
|
||||||
private TcpClient TcpClient;
|
private TcpClient TcpClient;
|
||||||
private readonly string Ip;
|
private readonly string Ip;
|
||||||
private readonly int Port;
|
private readonly int Port;
|
||||||
private Thread HeartThread;
|
private Thread HeartThread;
|
||||||
private bool IsRetrying;
|
private bool IsRetrying;
|
||||||
public ClientService()
|
public ClientService()
|
||||||
{
|
{
|
||||||
//var serviceAddressInfo = "21".Split("1");
|
//var serviceAddressInfo = "21".Split("1");
|
||||||
var serviceAddressInfo = App.Configuration["Target:ServiceAddressInfo"].Split(':');
|
var serviceAddressInfo = App.Configuration["Target:ServiceAddressInfo"].Split(':');
|
||||||
Ip = serviceAddressInfo[0];
|
Ip = serviceAddressInfo[0];
|
||||||
Port = int.Parse(serviceAddressInfo[1]);
|
Port = int.Parse(serviceAddressInfo[1]);
|
||||||
//var assemblyInfo = "21".Split("1");
|
//var assemblyInfo = "21".Split("1");
|
||||||
var assemblyInfo = App.Configuration["Target:DataHandlerClassInfo"].Split(',');
|
var assemblyInfo = App.Configuration["Target:DataHandlerClassInfo"].Split(',');
|
||||||
DataHandler = Assembly.Load(assemblyInfo[1]).CreateInstance(assemblyInfo[0]) as IDataHandler;
|
DataHandler = Assembly.Load(assemblyInfo[1]).CreateInstance(assemblyInfo[0]) as IDataHandler;
|
||||||
//_LogHelper = new LogHelper();
|
//_LogHelper = new LogHelper();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void Start()
|
public void Start()
|
||||||
{
|
{
|
||||||
StartNewEasyClient();
|
StartNewEasyClient();
|
||||||
DoHeart();
|
DoHeart();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DoDebug()
|
private void DoDebug()
|
||||||
{
|
{
|
||||||
for (var i = 0; i < 5; i++)
|
for (var i = 0; i < 5; i++)
|
||||||
{
|
{
|
||||||
Thread t = new Thread(() =>
|
Thread t = new Thread(() =>
|
||||||
{
|
{
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
var r = GetRegisterEntity();
|
var r = GetRegisterEntity();
|
||||||
r.Head.Type = 4;
|
r.Head.Type = 4;
|
||||||
r.Data = new byte[100 * 1024 * 1024];
|
r.Data = new byte[100 * 1024 * 1024];
|
||||||
Send(r.ToByte());
|
Send(r.ToByte());
|
||||||
Thread.Sleep(100);
|
Thread.Sleep(100);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
t.Start();
|
t.Start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void StartNewEasyClient()
|
private void StartNewEasyClient()
|
||||||
{
|
{
|
||||||
TcpClient = new TcpClient(Ip, Port, OnDataGeted, OnConnected, OnClosed, OnError);
|
if (TcpClient == null || !TcpClient.IsConnected)
|
||||||
}
|
TcpClient = new TcpClient(Ip, Port, OnDataGeted, OnConnected, OnClosed, OnError);
|
||||||
|
else
|
||||||
|
_LogHelper.Info("已存在可用连接");
|
||||||
|
}
|
||||||
|
|
||||||
private void OnDataGeted(TransInfo transInfo)
|
private void OnDataGeted(TransInfo transInfo)
|
||||||
{
|
{
|
||||||
LastRecvTime = DateTime.Now;
|
LastRecvTime = DateTime.Now;
|
||||||
if (transInfo.Body == null)//心跳包
|
if (transInfo.Body == null)//心跳包
|
||||||
{
|
{
|
||||||
/*//应用已被注册 再试
|
/*//应用已被注册 再试
|
||||||
if (transInfo.TransResultInfo != null && transInfo.TransResultInfo.Code == -210)
|
if (transInfo.TransResultInfo != null && transInfo.TransResultInfo.Code == -210)
|
||||||
{
|
{
|
||||||
Reconnect(null, null);
|
Reconnect(null, null);
|
||||||
}*/
|
}*/
|
||||||
if (transInfo.TransResultInfo != null && transInfo.TransResultInfo.Message == "注册成功!")
|
if (transInfo.TransResultInfo != null && transInfo.TransResultInfo.Message == "注册成功!")
|
||||||
{
|
{
|
||||||
"注册成功".LogInformation();
|
"注册成功".LogInformation();
|
||||||
_LogHelper.Info("注册成功");
|
_LogHelper.Info("注册成功");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (transInfo.TransResultInfo != null && !String.IsNullOrWhiteSpace(transInfo.TransResultInfo.Message))
|
if (transInfo.TransResultInfo != null && !String.IsNullOrWhiteSpace(transInfo.TransResultInfo.Message))
|
||||||
{
|
{
|
||||||
string info = "发生错误:" + transInfo.TransResultInfo.Message;
|
string info = "发生错误:" + transInfo.TransResultInfo.Message;
|
||||||
info.LogError();
|
info.LogError();
|
||||||
_LogHelper.Error("发生错误:" + transInfo.TransResultInfo.Message);
|
_LogHelper.Error("发生错误:" + transInfo.TransResultInfo.Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var transResult = DataHandler.HandlerData(transInfo);
|
var transResult = DataHandler.HandlerData(transInfo);
|
||||||
|
|
||||||
var r = GetRegisterEntity();
|
var r = GetRegisterEntity();
|
||||||
r.Body = new TransBody()
|
r.Body = new TransBody()
|
||||||
{
|
{
|
||||||
Key = transInfo.Body.Key
|
Key = transInfo.Body.Key
|
||||||
};
|
};
|
||||||
r.Head.Type = 3;
|
r.Head.Type = 3;
|
||||||
r.TransResultInfo = transResult.TransResultInfo;
|
r.TransResultInfo = transResult.TransResultInfo;
|
||||||
r.Data = transResult.Data;
|
r.Data = transResult.Data;
|
||||||
|
|
||||||
Send(r.ToByte());
|
Send(r.ToByte());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnConnected(object sender, EventArgs e)
|
private void OnConnected(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
IsRetrying = false;
|
IsRetrying = false;
|
||||||
_LogHelper.Info("连接成功");
|
_LogHelper.Info("连接成功");
|
||||||
"连接成功".LogInformation();
|
"连接成功".LogInformation();
|
||||||
Send(GetRegisterEntity().ToByte());
|
Send(GetRegisterEntity().ToByte());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClosed(object sender, EventArgs e)
|
private void OnClosed(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
"EasyClient.OnClosed".LogInformation();
|
"EasyClient.OnClosed".LogInformation();
|
||||||
_LogHelper.Info("EasyClient.OnClosed");
|
_LogHelper.Info("EasyClient.OnClosed");
|
||||||
ReStart();
|
ReStart();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnError(object sender, EventArgs e)
|
private void OnError(object sender, ErrorEventArgs e)
|
||||||
{
|
{
|
||||||
string warn = "连接出错,原因为:" + ((ErrorEventArgs)e).Exception.Message;
|
string warn = "连接出错,原因为:" + ((ErrorEventArgs)e).Exception.Message;
|
||||||
warn.LogWarning();
|
warn.LogWarning();
|
||||||
//_LogHelper.Info("连接出错,原因为:" + ((ErrorEventArgs)e).Exception.Message);
|
//_LogHelper.Info("连接出错,原因为:" + ((ErrorEventArgs)e).Exception.Message);
|
||||||
ReStart();
|
ReStart();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ReStart()
|
private void ReStart()
|
||||||
{
|
{
|
||||||
Thread.Sleep(5000);
|
//Thread.Sleep(5000);
|
||||||
StartNewEasyClient();
|
StartNewEasyClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void DoHeart()
|
private void DoHeart()
|
||||||
{
|
{
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
/*for (int i = 0; i < 100; i++)
|
/*for (int i = 0; i < 100; i++)
|
||||||
{
|
{
|
||||||
var testThread = new Thread(() =>
|
var testThread = new Thread(() =>
|
||||||
{
|
{
|
||||||
@@ -162,65 +165,70 @@ namespace Getf_Service_Transfer_Client_coreService
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
HeartThread = new Thread(() =>
|
HeartThread = new Thread(() =>
|
||||||
{
|
{
|
||||||
while (true)
|
//_LogHelper.Info("开始发送心跳包");
|
||||||
{
|
while (true)
|
||||||
if ((DateTime.Now - LastRecvTime).TotalMinutes > 10)
|
{
|
||||||
{
|
//_LogHelper.Info("开始发送心跳包1");
|
||||||
_LogHelper.Error("超过一分钟没收到心跳包的反馈信息");
|
if ((DateTime.Now - LastRecvTime).TotalMinutes > 1)
|
||||||
TcpClient.HeartLost();
|
{
|
||||||
}
|
_LogHelper.Info("超过一分钟没收到心跳包的反馈信息");
|
||||||
if (TcpClient.IsConnected)
|
_LogHelper.Error("超过一分钟没收到心跳包的反馈信息");
|
||||||
{
|
TcpClient.HeartLost();
|
||||||
SendHeart();
|
}
|
||||||
}
|
if (TcpClient.IsConnected)
|
||||||
Thread.Sleep(5 * 1000);
|
{
|
||||||
}
|
//_LogHelper.Info("存在连接,开始发送心跳包");
|
||||||
});
|
SendHeart();
|
||||||
HeartThread.Start();
|
//_LogHelper.Info("存在连接,发送心跳包完成");
|
||||||
}
|
}
|
||||||
|
Thread.Sleep(5 * 1000);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
HeartThread.Start();
|
||||||
|
}
|
||||||
|
|
||||||
private void SendHeart()
|
private void SendHeart()
|
||||||
{
|
{
|
||||||
var r = GetRegisterEntity();
|
var r = GetRegisterEntity();
|
||||||
r.Head.Type = 4;
|
r.Head.Type = 4;
|
||||||
Send(r.ToByte());
|
Send(r.ToByte());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Send(byte[] data)
|
private void Send(byte[] data)
|
||||||
{
|
{
|
||||||
if (!TcpClient.IsConnected) return;
|
if (!TcpClient.IsConnected) return;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
TcpClient.Send(data);
|
TcpClient.Send(data);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
_LogHelper.Error("发送错误原因为:" + e.Message);
|
_LogHelper.Error("发送错误原因为:" + e.Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private TransInfo GetRegisterEntity()
|
private TransInfo GetRegisterEntity()
|
||||||
{
|
{
|
||||||
var ts = TypeHelper.GetTimeStamp();
|
var ts = TypeHelper.GetTimeStamp();
|
||||||
var r = new TransInfo()
|
var r = new TransInfo()
|
||||||
{
|
{
|
||||||
Head = new TransHead()
|
Head = new TransHead()
|
||||||
{
|
{
|
||||||
Type = 1,
|
Type = 1,
|
||||||
AppID = App.Configuration["Target:AppID"],
|
AppID = App.Configuration["Target:AppID"],
|
||||||
AppSecret = App.Configuration["Target:AppSecret"],
|
AppSecret = App.Configuration["Target:AppSecret"],
|
||||||
TimeStamp = ts,
|
TimeStamp = ts,
|
||||||
Sign = Md5Helper.Md5(ts + App.Configuration["Target:Key"])
|
Sign = Md5Helper.Md5(ts + App.Configuration["Target:Key"])
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
TcpClient.Dispose();
|
TcpClient.Dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,16 @@
|
|||||||
<TargetFramework>net5.0</TargetFramework>
|
<TargetFramework>net5.0</TargetFramework>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Remove="applicationconfig.json" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="applicationconfig.json">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Furion" Version="4.6.5" />
|
<PackageReference Include="Furion" Version="4.6.5" />
|
||||||
<PackageReference Include="log4net" Version="2.0.15" />
|
<PackageReference Include="log4net" Version="2.0.15" />
|
||||||
@@ -12,10 +22,4 @@
|
|||||||
<PackageReference Include="SuperSocket.ProtoBase" Version="1.7.0.17" />
|
<PackageReference Include="SuperSocket.ProtoBase" Version="1.7.0.17" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Update="applicationconfig.json">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace Getf_Service_Transfer_Client_coreService
|
|||||||
Action<object, EventArgs> OnClosed;
|
Action<object, EventArgs> OnClosed;
|
||||||
public bool IsConnected { get { return EasyClient.IsConnected; } }
|
public bool IsConnected { get { return EasyClient.IsConnected; } }
|
||||||
|
|
||||||
public TcpClient(string ip, int port, Action<TransInfo> onDataGeted, Action<object, EventArgs> onConnected, Action<object, EventArgs> onClosed, Action<object, EventArgs> onError)
|
public TcpClient(string ip, int port, Action<TransInfo> onDataGeted, Action<object, EventArgs> onConnected, Action<object, EventArgs> onClosed, Action<object, ErrorEventArgs> onError)
|
||||||
{
|
{
|
||||||
Ip = ip;
|
Ip = ip;
|
||||||
Port = port;
|
Port = port;
|
||||||
|
|||||||
@@ -17,11 +17,13 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"Target": {
|
"Target": {
|
||||||
"ServiceAddressInfo": "127.0.0.1:8111", //目标服务器地址
|
"ServiceAddressInfo": "127.0.0.1:8002", //目标服务器地址
|
||||||
"DataHandlerClassInfo": "Getf_Service_Transfer_Client_Service_HttpHandler.HttpDataHandler,Getf_Service_Transfer_Client_Service_HttpHandler",
|
"ServiceAddressInfo2": "10.19.94.135:8002", //目标服务器地址
|
||||||
"AppID": "test",
|
"ServiceAddressInfo3": "115.238.132.35:6000", //目标服务器地址
|
||||||
"AppSecret": "b7ybdg482IXFsojQ4feDHf4NaiSLRtFjL7MVI6ysnvjrZ6jikFX74tVZhZKYG23A",
|
"DataHandlerClassInfo": "Getf_Service_Transfer_Client_Service_HttpHandler.HttpJsonDataHandler,Getf_Service_Transfer_Client_Service_HttpHandler",
|
||||||
"Key": "TVgSoGYNJrnU7Kg6Csuodh4IdxqZGxpEJAdRlEcTn72KlUgAiHcr7bdxLKFf9pJ6"
|
"AppID": "Reg.Custom.SourceCode",
|
||||||
|
"AppSecret": "ab2cb0aa78cb986d3d05059b8f9bafee",
|
||||||
|
"Key": "86bf52124bc423351c9da81cb3dd8c94"
|
||||||
},
|
},
|
||||||
"Logging": {
|
"Logging": {
|
||||||
"LogLevel": {
|
"LogLevel": {
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net5.0</TargetFramework>
|
||||||
|
<ApplicationIcon />
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<StartupObject />
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Getf_Service_Transfer_core_client\Getf_Service_Transfer_core_client.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -9,10 +9,17 @@
|
|||||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting.Systemd" Version="5.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Hosting.Systemd" Version="5.0.1" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="5.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="5.0.1" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging.Log4Net.AspNetCore" Version="6.1.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Getf_Service_Transfer_Client_coreService\Getf_Service_Transfer_Client_coreService.csproj" />
|
<ProjectReference Include="..\Getf_Service_Transfer_Client_coreService\Getf_Service_Transfer_Client_coreService.csproj" />
|
||||||
<ProjectReference Include="..\Getf_Service_Transfer_Client_Service_HttpHandler\Getf_Service_Transfer_Client_Service_HttpHandler.csproj" />
|
<ProjectReference Include="..\Getf_Service_Transfer_Client_Service_HttpHandler\Getf_Service_Transfer_Client_Service_HttpHandler.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Update="log4net.config">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -44,8 +44,16 @@ namespace Getf_Service_Transfer_core_client
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
// services.AddHostedService<Worker>();
|
// services.AddHostedService<Worker>();
|
||||||
|
})//配置log4net
|
||||||
|
.ConfigureLogging(p =>
|
||||||
|
{
|
||||||
|
p.AddFilter("System", LogLevel.Warning); //过滤掉系统默认的一些日志
|
||||||
|
p.AddFilter("Microsoft", LogLevel.Warning);//过滤掉系统默认的一些日志
|
||||||
|
var path = AppContext.BaseDirectory + "\\log4net.config";
|
||||||
|
//不带参数:表示log4net.config的配置文件就在应用程序根目录下,也可以指定配置文件的路径
|
||||||
|
p.AddLog4Net(path);
|
||||||
})
|
})
|
||||||
//.UseWindowsService() ///windows部署
|
.UseWindowsService(); ///windows部署
|
||||||
.UseSystemd(); //LIUNX部署
|
// .UseSystemd(); //LIUNX部署
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
134
93_nei_core/Getf_Service_Transfer_core_client/log4net.config
Normal file
134
93_nei_core/Getf_Service_Transfer_core_client/log4net.config
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
<log4net>
|
||||||
|
<appender name="Console" type="log4net.Appender.ConsoleAppender">
|
||||||
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
|
<!-- Pattern to output the caller's file name and line number -->
|
||||||
|
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
|
||||||
|
</layout>
|
||||||
|
</appender>
|
||||||
|
<appender name="RollingFileError" type="log4net.Appender.RollingFileAppender">
|
||||||
|
<file value="logs\\" />
|
||||||
|
<appendToFile value="true" />
|
||||||
|
<rollingStyle value="Composite"/>
|
||||||
|
<datePattern value="yyyy\\MM\\yyyyMMdd'_error.txt'"/>
|
||||||
|
<staticLogFileName value="false" />
|
||||||
|
<maximumFileSize value="50MB" />
|
||||||
|
<maxSizeRollBackups value="200" />
|
||||||
|
<filter type="log4net.Filter.LevelRangeFilter">
|
||||||
|
<levelMin value="ERROR" />
|
||||||
|
<levelMax value="FATAL" />
|
||||||
|
</filter>
|
||||||
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
|
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
|
||||||
|
</layout>
|
||||||
|
</appender>
|
||||||
|
<!--<appender name="RollingFileInfo" type="log4net.Appender.RollingFileAppender">
|
||||||
|
<file value="logs\\" />
|
||||||
|
<appendToFile value="true" />
|
||||||
|
<rollingStyle value="date"/>
|
||||||
|
<datePattern value="yyyy\\MM\\yyyyMMdd'_info.txt'"/>
|
||||||
|
<staticLogFileName value="false" />
|
||||||
|
<filter type="log4net.Filter.LevelRangeFilter">
|
||||||
|
<levelMin value="Info" />
|
||||||
|
<levelMax value="Info" />
|
||||||
|
</filter>
|
||||||
|
<maximumFileSize value="100MB" />
|
||||||
|
<maxSizeRollBackups value="200" />
|
||||||
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
|
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
|
||||||
|
</layout>
|
||||||
|
</appender>
|
||||||
|
<appender name="RollingFileWarn" type="log4net.Appender.RollingFileAppender">
|
||||||
|
<file value="logs\\" />
|
||||||
|
<appendToFile value="true" />
|
||||||
|
<rollingStyle value="date"/>
|
||||||
|
<datePattern value="yyyy\\MM\\yyyyMMdd'_warn.txt'"/>
|
||||||
|
<staticLogFileName value="false" />
|
||||||
|
<filter type="log4net.Filter.LevelRangeFilter">
|
||||||
|
<levelMin value="WARN" />
|
||||||
|
<levelMax value="WARN" />
|
||||||
|
</filter>
|
||||||
|
<maximumFileSize value="100MB" />
|
||||||
|
<maxSizeRollBackups value="200" />
|
||||||
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
|
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
|
||||||
|
</layout>
|
||||||
|
</appender>
|
||||||
|
<appender name="RollingFileDebug" type="log4net.Appender.RollingFileAppender">
|
||||||
|
<file value="logs\\" />
|
||||||
|
<appendToFile value="true" />
|
||||||
|
<rollingStyle value="date"/>
|
||||||
|
<datePattern value="yyyy\\MM\\yyyyMMdd'_debug.txt'"/>
|
||||||
|
<staticLogFileName value="false" />
|
||||||
|
<filter type="log4net.Filter.LevelRangeFilter">
|
||||||
|
<levelMin value="Debug" />
|
||||||
|
<levelMax value="Debug" />
|
||||||
|
</filter>
|
||||||
|
<maximumFileSize value="100MB" />
|
||||||
|
<maxSizeRollBackups value="200" />
|
||||||
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
|
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
|
||||||
|
</layout>
|
||||||
|
</appender>-->
|
||||||
|
<appender name="RollingFileAll" type="log4net.Appender.RollingFileAppender">
|
||||||
|
<file value="logs\\" />
|
||||||
|
<appendToFile value="true" />
|
||||||
|
<rollingStyle value="Composite"/>
|
||||||
|
<datePattern value="yyyy\\MM\\yyyyMMdd'.txt'"/>
|
||||||
|
<staticLogFileName value="false" />
|
||||||
|
<maximumFileSize value="50MB" />
|
||||||
|
<maxSizeRollBackups value="200" />
|
||||||
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
|
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
|
||||||
|
</layout>
|
||||||
|
</appender>
|
||||||
|
<!--<appender name="RollingFileAll" type="log4net.Appender.RollingFileAppender">
|
||||||
|
<file value="logs\\" />
|
||||||
|
<appendToFile value="true" />
|
||||||
|
<rollingStyle value="date"/>
|
||||||
|
<datePattern value="yyyy\\MM\\yyyyMMdd'.txt'"/>
|
||||||
|
<staticLogFileName value="false" />
|
||||||
|
|
||||||
|
<maximumFileSize value="100KB" />
|
||||||
|
<maxSizeRollBackups value="2" />
|
||||||
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
|
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
|
||||||
|
</layout>
|
||||||
|
</appender>-->
|
||||||
|
|
||||||
|
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
|
||||||
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
|
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
|
||||||
|
</layout>
|
||||||
|
</appender>
|
||||||
|
<appender name="ConsoleAppender" type="log4net.Appender.ManagedColoredConsoleAppender">
|
||||||
|
<mapping>
|
||||||
|
<level value="ERROR" />
|
||||||
|
<foreColor value="Red" />
|
||||||
|
</mapping>
|
||||||
|
<mapping>
|
||||||
|
<level value="WARN" />
|
||||||
|
<foreColor value="Yellow" />
|
||||||
|
</mapping>
|
||||||
|
<mapping>
|
||||||
|
<level value="INFO" />
|
||||||
|
<foreColor value="White" />
|
||||||
|
</mapping>
|
||||||
|
<mapping>
|
||||||
|
<level value="DEBUG" />
|
||||||
|
<foreColor value="Green" />
|
||||||
|
</mapping>
|
||||||
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
|
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
|
||||||
|
</layout>
|
||||||
|
</appender>
|
||||||
|
<root>
|
||||||
|
<level value="TRACE" />
|
||||||
|
<appender-ref ref="RollingFileError" />
|
||||||
|
<!--<appender-ref ref="RollingFileInfo" />
|
||||||
|
<appender-ref ref="RollingFileWarn" />
|
||||||
|
<appender-ref ref="RollingFileDebug" />-->
|
||||||
|
<appender-ref ref="RollingFileAll" />
|
||||||
|
<appender-ref ref="TraceAppender" />
|
||||||
|
<appender-ref ref="ConsoleAppender" />
|
||||||
|
</root>
|
||||||
|
</log4net>
|
||||||
Reference in New Issue
Block a user