内网细节修改
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.1.32421.90
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.31624.102
|
||||
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}"
|
||||
EndProject
|
||||
|
||||
@@ -51,15 +51,16 @@ namespace Getf_Service_Transfer_Client_Service_HttpHandler
|
||||
{
|
||||
var requestStream = httpWebRequest.GetRequestStream();
|
||||
SetRequestStream(httpWebRequest, requestStream, jObject, encoding);
|
||||
r = GetResponse(httpWebRequest, encoding);
|
||||
r = GetResponse(httpWebRequest, jObject, encoding);
|
||||
requestStream.Close();
|
||||
requestStream.Dispose();
|
||||
}
|
||||
else
|
||||
{
|
||||
r = GetResponse(httpWebRequest, encoding);
|
||||
r = GetResponse(httpWebRequest, null, encoding);
|
||||
}
|
||||
msg = String.Empty;
|
||||
_LogHelper.Info($"93段接口:method:{method},url:{url},参数:{jObject["Data"]},结果:{r}");
|
||||
return r;
|
||||
}
|
||||
catch (WebException e)
|
||||
@@ -72,20 +73,20 @@ namespace Getf_Service_Transfer_Client_Service_HttpHandler
|
||||
using (StreamReader streamReader = new StreamReader(stream))
|
||||
{
|
||||
msg += streamReader.ReadToEnd();
|
||||
_LogHelper.Info("请求错误原因为:" + msg);
|
||||
_LogHelper.Info("1:请求错误原因为:" + msg);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
msg += e.Message;
|
||||
_LogHelper.Info("请求错误原因为:" + msg);
|
||||
_LogHelper.Info("2:请求错误原因为:" + msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
msg = e.Message;
|
||||
_LogHelper.Info("请求错误原因为:" + msg);
|
||||
_LogHelper.Info("3:请求错误原因为:" + msg);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -126,12 +127,21 @@ namespace Getf_Service_Transfer_Client_Service_HttpHandler
|
||||
{
|
||||
var param = jObject["Param"]?.Value<string>() ?? String.Empty;
|
||||
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 object GetResponse(HttpWebRequest httpWebRequest, Encoding encoding)
|
||||
private object GetResponse(HttpWebRequest httpWebRequest, JObject jObject, Encoding encoding)
|
||||
{
|
||||
var response = httpWebRequest.GetResponse();
|
||||
using (var stream = response.GetResponseStream())
|
||||
|
||||
@@ -21,134 +21,137 @@ namespace Getf_Service_Transfer_Client_coreService
|
||||
{
|
||||
public class ClientService : IDisposable
|
||||
{
|
||||
private DateTime LastRecvTime = DateTime.Now;
|
||||
LogHelper _LogHelper = new LogHelper();
|
||||
private readonly IDataHandler DataHandler;
|
||||
private DateTime LastRecvTime = DateTime.Now;
|
||||
LogHelper _LogHelper = new LogHelper();
|
||||
private readonly IDataHandler DataHandler;
|
||||
private TcpClient TcpClient;
|
||||
private readonly string Ip;
|
||||
private readonly int Port;
|
||||
private Thread HeartThread;
|
||||
private bool IsRetrying;
|
||||
public ClientService()
|
||||
public ClientService()
|
||||
{
|
||||
//var serviceAddressInfo = "21".Split("1");
|
||||
var serviceAddressInfo = App.Configuration["Target:ServiceAddressInfo"].Split(':');
|
||||
//var serviceAddressInfo = "21".Split("1");
|
||||
var serviceAddressInfo = App.Configuration["Target:ServiceAddressInfo"].Split(':');
|
||||
Ip = serviceAddressInfo[0];
|
||||
Port = int.Parse(serviceAddressInfo[1]);
|
||||
//var assemblyInfo = "21".Split("1");
|
||||
var assemblyInfo = App.Configuration["Target:DataHandlerClassInfo"].Split(',');
|
||||
DataHandler = Assembly.Load(assemblyInfo[1]).CreateInstance(assemblyInfo[0]) as IDataHandler;
|
||||
//var assemblyInfo = "21".Split("1");
|
||||
var assemblyInfo = App.Configuration["Target:DataHandlerClassInfo"].Split(',');
|
||||
DataHandler = Assembly.Load(assemblyInfo[1]).CreateInstance(assemblyInfo[0]) as IDataHandler;
|
||||
//_LogHelper = new LogHelper();
|
||||
}
|
||||
|
||||
|
||||
public void Start()
|
||||
{
|
||||
StartNewEasyClient();
|
||||
DoHeart();
|
||||
}
|
||||
public void Start()
|
||||
{
|
||||
StartNewEasyClient();
|
||||
DoHeart();
|
||||
}
|
||||
|
||||
private void DoDebug()
|
||||
{
|
||||
for (var i = 0; i < 5; i++)
|
||||
{
|
||||
Thread t = new Thread(() =>
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
var r = GetRegisterEntity();
|
||||
r.Head.Type = 4;
|
||||
r.Data = new byte[100 * 1024 * 1024];
|
||||
Send(r.ToByte());
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
});
|
||||
t.Start();
|
||||
}
|
||||
}
|
||||
private void DoDebug()
|
||||
{
|
||||
for (var i = 0; i < 5; i++)
|
||||
{
|
||||
Thread t = new Thread(() =>
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
var r = GetRegisterEntity();
|
||||
r.Head.Type = 4;
|
||||
r.Data = new byte[100 * 1024 * 1024];
|
||||
Send(r.ToByte());
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
});
|
||||
t.Start();
|
||||
}
|
||||
}
|
||||
|
||||
private void StartNewEasyClient()
|
||||
{
|
||||
TcpClient = new TcpClient(Ip, Port, OnDataGeted, OnConnected, OnClosed, OnError);
|
||||
}
|
||||
private void StartNewEasyClient()
|
||||
{
|
||||
if (TcpClient == null || !TcpClient.IsConnected)
|
||||
TcpClient = new TcpClient(Ip, Port, OnDataGeted, OnConnected, OnClosed, OnError);
|
||||
else
|
||||
_LogHelper.Info("已存在可用连接");
|
||||
}
|
||||
|
||||
private void OnDataGeted(TransInfo transInfo)
|
||||
{
|
||||
LastRecvTime = DateTime.Now;
|
||||
if (transInfo.Body == null)//心跳包
|
||||
{
|
||||
/*//应用已被注册 再试
|
||||
private void OnDataGeted(TransInfo transInfo)
|
||||
{
|
||||
LastRecvTime = DateTime.Now;
|
||||
if (transInfo.Body == null)//心跳包
|
||||
{
|
||||
/*//应用已被注册 再试
|
||||
if (transInfo.TransResultInfo != null && transInfo.TransResultInfo.Code == -210)
|
||||
{
|
||||
Reconnect(null, null);
|
||||
}*/
|
||||
if (transInfo.TransResultInfo != null && transInfo.TransResultInfo.Message == "注册成功!")
|
||||
{
|
||||
"注册成功".LogInformation();
|
||||
_LogHelper.Info("注册成功");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (transInfo.TransResultInfo != null && !String.IsNullOrWhiteSpace(transInfo.TransResultInfo.Message))
|
||||
{
|
||||
string info = "发生错误:" + transInfo.TransResultInfo.Message;
|
||||
info.LogError();
|
||||
_LogHelper.Error("发生错误:" + transInfo.TransResultInfo.Message);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (transInfo.TransResultInfo != null && transInfo.TransResultInfo.Message == "注册成功!")
|
||||
{
|
||||
"注册成功".LogInformation();
|
||||
_LogHelper.Info("注册成功");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (transInfo.TransResultInfo != null && !String.IsNullOrWhiteSpace(transInfo.TransResultInfo.Message))
|
||||
{
|
||||
string info = "发生错误:" + transInfo.TransResultInfo.Message;
|
||||
info.LogError();
|
||||
_LogHelper.Error("发生错误:" + transInfo.TransResultInfo.Message);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
var transResult = DataHandler.HandlerData(transInfo);
|
||||
var transResult = DataHandler.HandlerData(transInfo);
|
||||
|
||||
var r = GetRegisterEntity();
|
||||
r.Body = new TransBody()
|
||||
{
|
||||
Key = transInfo.Body.Key
|
||||
};
|
||||
r.Head.Type = 3;
|
||||
r.TransResultInfo = transResult.TransResultInfo;
|
||||
r.Data = transResult.Data;
|
||||
var r = GetRegisterEntity();
|
||||
r.Body = new TransBody()
|
||||
{
|
||||
Key = transInfo.Body.Key
|
||||
};
|
||||
r.Head.Type = 3;
|
||||
r.TransResultInfo = transResult.TransResultInfo;
|
||||
r.Data = transResult.Data;
|
||||
|
||||
Send(r.ToByte());
|
||||
}
|
||||
Send(r.ToByte());
|
||||
}
|
||||
|
||||
private void OnConnected(object sender, EventArgs e)
|
||||
{
|
||||
IsRetrying = false;
|
||||
_LogHelper.Info("连接成功");
|
||||
"连接成功".LogInformation();
|
||||
Send(GetRegisterEntity().ToByte());
|
||||
}
|
||||
private void OnConnected(object sender, EventArgs e)
|
||||
{
|
||||
IsRetrying = false;
|
||||
_LogHelper.Info("连接成功");
|
||||
"连接成功".LogInformation();
|
||||
Send(GetRegisterEntity().ToByte());
|
||||
}
|
||||
|
||||
private void OnClosed(object sender, EventArgs e)
|
||||
{
|
||||
"EasyClient.OnClosed".LogInformation();
|
||||
_LogHelper.Info("EasyClient.OnClosed");
|
||||
ReStart();
|
||||
}
|
||||
private void OnClosed(object sender, EventArgs e)
|
||||
{
|
||||
"EasyClient.OnClosed".LogInformation();
|
||||
_LogHelper.Info("EasyClient.OnClosed");
|
||||
ReStart();
|
||||
}
|
||||
|
||||
private void OnError(object sender, EventArgs e)
|
||||
{
|
||||
string warn = "连接出错,原因为:" + ((ErrorEventArgs)e).Exception.Message;
|
||||
warn.LogWarning();
|
||||
//_LogHelper.Info("连接出错,原因为:" + ((ErrorEventArgs)e).Exception.Message);
|
||||
ReStart();
|
||||
}
|
||||
private void OnError(object sender, ErrorEventArgs e)
|
||||
{
|
||||
string warn = "连接出错,原因为:" + ((ErrorEventArgs)e).Exception.Message;
|
||||
warn.LogWarning();
|
||||
//_LogHelper.Info("连接出错,原因为:" + ((ErrorEventArgs)e).Exception.Message);
|
||||
ReStart();
|
||||
}
|
||||
|
||||
private void ReStart()
|
||||
{
|
||||
Thread.Sleep(5000);
|
||||
StartNewEasyClient();
|
||||
}
|
||||
private void ReStart()
|
||||
{
|
||||
//Thread.Sleep(5000);
|
||||
StartNewEasyClient();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void DoHeart()
|
||||
{
|
||||
private void DoHeart()
|
||||
{
|
||||
#if DEBUG
|
||||
/*for (int i = 0; i < 100; i++)
|
||||
/*for (int i = 0; i < 100; i++)
|
||||
{
|
||||
var testThread = new Thread(() =>
|
||||
{
|
||||
@@ -162,65 +165,70 @@ namespace Getf_Service_Transfer_Client_coreService
|
||||
|
||||
#endif
|
||||
|
||||
HeartThread = new Thread(() =>
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
if ((DateTime.Now - LastRecvTime).TotalMinutes > 10)
|
||||
{
|
||||
_LogHelper.Error("超过一分钟没收到心跳包的反馈信息");
|
||||
TcpClient.HeartLost();
|
||||
}
|
||||
if (TcpClient.IsConnected)
|
||||
{
|
||||
SendHeart();
|
||||
}
|
||||
Thread.Sleep(5 * 1000);
|
||||
}
|
||||
});
|
||||
HeartThread.Start();
|
||||
}
|
||||
HeartThread = new Thread(() =>
|
||||
{
|
||||
//_LogHelper.Info("开始发送心跳包");
|
||||
while (true)
|
||||
{
|
||||
//_LogHelper.Info("开始发送心跳包1");
|
||||
if ((DateTime.Now - LastRecvTime).TotalMinutes > 1)
|
||||
{
|
||||
_LogHelper.Info("超过一分钟没收到心跳包的反馈信息");
|
||||
_LogHelper.Error("超过一分钟没收到心跳包的反馈信息");
|
||||
TcpClient.HeartLost();
|
||||
}
|
||||
if (TcpClient.IsConnected)
|
||||
{
|
||||
//_LogHelper.Info("存在连接,开始发送心跳包");
|
||||
SendHeart();
|
||||
//_LogHelper.Info("存在连接,发送心跳包完成");
|
||||
}
|
||||
Thread.Sleep(5 * 1000);
|
||||
}
|
||||
});
|
||||
HeartThread.Start();
|
||||
}
|
||||
|
||||
private void SendHeart()
|
||||
{
|
||||
var r = GetRegisterEntity();
|
||||
r.Head.Type = 4;
|
||||
Send(r.ToByte());
|
||||
}
|
||||
private void SendHeart()
|
||||
{
|
||||
var r = GetRegisterEntity();
|
||||
r.Head.Type = 4;
|
||||
Send(r.ToByte());
|
||||
}
|
||||
|
||||
private void Send(byte[] data)
|
||||
{
|
||||
if (!TcpClient.IsConnected) return;
|
||||
try
|
||||
{
|
||||
TcpClient.Send(data);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_LogHelper.Error("发送错误原因为:" + e.Message);
|
||||
}
|
||||
}
|
||||
private void Send(byte[] data)
|
||||
{
|
||||
if (!TcpClient.IsConnected) return;
|
||||
try
|
||||
{
|
||||
TcpClient.Send(data);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_LogHelper.Error("发送错误原因为:" + e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private TransInfo GetRegisterEntity()
|
||||
{
|
||||
var ts = TypeHelper.GetTimeStamp();
|
||||
var r = new TransInfo()
|
||||
{
|
||||
Head = new TransHead()
|
||||
{
|
||||
Type = 1,
|
||||
AppID = App.Configuration["Target:AppID"],
|
||||
AppSecret = App.Configuration["Target:AppSecret"],
|
||||
TimeStamp = ts,
|
||||
Sign = Md5Helper.Md5(ts + App.Configuration["Target:Key"])
|
||||
}
|
||||
};
|
||||
return r;
|
||||
}
|
||||
private TransInfo GetRegisterEntity()
|
||||
{
|
||||
var ts = TypeHelper.GetTimeStamp();
|
||||
var r = new TransInfo()
|
||||
{
|
||||
Head = new TransHead()
|
||||
{
|
||||
Type = 1,
|
||||
AppID = App.Configuration["Target:AppID"],
|
||||
AppSecret = App.Configuration["Target:AppSecret"],
|
||||
TimeStamp = ts,
|
||||
Sign = Md5Helper.Md5(ts + App.Configuration["Target:Key"])
|
||||
}
|
||||
};
|
||||
return r;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
TcpClient.Dispose();
|
||||
}
|
||||
}
|
||||
public void Dispose()
|
||||
{
|
||||
TcpClient.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,16 @@
|
||||
<TargetFramework>net5.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="applicationconfig.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="applicationconfig.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion" Version="4.6.5" />
|
||||
<PackageReference Include="log4net" Version="2.0.15" />
|
||||
@@ -12,10 +22,4 @@
|
||||
<PackageReference Include="SuperSocket.ProtoBase" Version="1.7.0.17" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="applicationconfig.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Getf_Service_Transfer_Client_coreService
|
||||
Action<object, EventArgs> OnClosed;
|
||||
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;
|
||||
Port = port;
|
||||
|
||||
@@ -17,11 +17,13 @@
|
||||
]
|
||||
},
|
||||
"Target": {
|
||||
"ServiceAddressInfo": "127.0.0.1:8111", //目标服务器地址
|
||||
"DataHandlerClassInfo": "Getf_Service_Transfer_Client_Service_HttpHandler.HttpDataHandler,Getf_Service_Transfer_Client_Service_HttpHandler",
|
||||
"AppID": "test",
|
||||
"AppSecret": "b7ybdg482IXFsojQ4feDHf4NaiSLRtFjL7MVI6ysnvjrZ6jikFX74tVZhZKYG23A",
|
||||
"Key": "TVgSoGYNJrnU7Kg6Csuodh4IdxqZGxpEJAdRlEcTn72KlUgAiHcr7bdxLKFf9pJ6"
|
||||
"ServiceAddressInfo": "127.0.0.1:8002", //目标服务器地址
|
||||
"ServiceAddressInfo2": "10.19.94.135:8002", //目标服务器地址
|
||||
"ServiceAddressInfo3": "115.238.132.35:6000", //目标服务器地址
|
||||
"DataHandlerClassInfo": "Getf_Service_Transfer_Client_Service_HttpHandler.HttpJsonDataHandler,Getf_Service_Transfer_Client_Service_HttpHandler",
|
||||
"AppID": "Reg.Custom.SourceCode",
|
||||
"AppSecret": "ab2cb0aa78cb986d3d05059b8f9bafee",
|
||||
"Key": "86bf52124bc423351c9da81cb3dd8c94"
|
||||
},
|
||||
"Logging": {
|
||||
"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.Systemd" 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>
|
||||
<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" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Update="log4net.config">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -44,8 +44,16 @@ namespace Getf_Service_Transfer_core_client
|
||||
};
|
||||
});
|
||||
// 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部署
|
||||
.UseSystemd(); //LIUNX部署
|
||||
.UseWindowsService(); ///windows部署
|
||||
// .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