mirror of
https://github.com/krugersu/YY.EventLogExportAssistant.git
synced 2026-06-20 01:16:51 +02:00
Merge pull request #47 from YPermitin/develop
Обновление библиотек и адаптация к последней версии ClickHouse
This commit is contained in:
@@ -28,7 +28,7 @@ namespace YY.EventLogExportAssistant.ClickHouse
|
||||
|
||||
private ClickHouseConnection _connection;
|
||||
private long logFileLastId = -1;
|
||||
private IExtendedActions _extendedActions;
|
||||
private readonly IExtendedActions _extendedActions;
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -234,86 +234,32 @@ namespace YY.EventLogExportAssistant.ClickHouse
|
||||
}
|
||||
public void SaveLogPosition(InformationSystemsBase system, FileInfo logFileInfo, EventLogPosition position)
|
||||
{
|
||||
var commandAddLogInfo = _connection.CreateCommand();
|
||||
commandAddLogInfo.CommandText =
|
||||
@"INSERT INTO LogFiles (
|
||||
InformationSystem,
|
||||
Id,
|
||||
FileName,
|
||||
CreateDate,
|
||||
ModificationDate,
|
||||
LastEventNumber,
|
||||
LastCurrentFileReferences,
|
||||
LastCurrentFileData,
|
||||
LastStreamPosition
|
||||
) VALUES (
|
||||
{isId:String},
|
||||
{newId:Int64},
|
||||
{FileName:String},
|
||||
{CreateDate:DateTime},
|
||||
{ModificationDate:DateTime},
|
||||
{LastEventNumber:Int64},
|
||||
{LastCurrentFileReferences:String},
|
||||
{LastCurrentFileData:String},
|
||||
{LastStreamPosition:Int64}
|
||||
)";
|
||||
using (ClickHouseBulkCopy bulkCopyInterface = new ClickHouseBulkCopy(_connection)
|
||||
{
|
||||
DestinationTableName = "LogFiles",
|
||||
BatchSize = 100000
|
||||
})
|
||||
{
|
||||
long logFileNewId = GetLogFileInfoNewId(system);
|
||||
IEnumerable<object[]> values = new List<object[]>()
|
||||
{
|
||||
new object[]
|
||||
{
|
||||
system.Name,
|
||||
logFileNewId,
|
||||
logFileInfo.Name,
|
||||
logFileInfo.CreationTimeUtc,
|
||||
logFileInfo.LastWriteTimeUtc,
|
||||
position.EventNumber,
|
||||
position.CurrentFileReferences.Replace("\\", "\\\\"),
|
||||
position.CurrentFileData.Replace("\\", "\\\\"),
|
||||
position.StreamPosition ?? 0
|
||||
}
|
||||
}.AsEnumerable();
|
||||
|
||||
commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter
|
||||
{
|
||||
ParameterName = "isId",
|
||||
DbType = DbType.Int64,
|
||||
Value = system.Name
|
||||
});
|
||||
commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter
|
||||
{
|
||||
ParameterName = "newId",
|
||||
DbType = DbType.Int64,
|
||||
Value = GetLogFileInfoNewId(system)
|
||||
});
|
||||
commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter
|
||||
{
|
||||
ParameterName = "FileName",
|
||||
DbType = DbType.AnsiString,
|
||||
Value = logFileInfo.Name
|
||||
});
|
||||
commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter
|
||||
{
|
||||
ParameterName = "CreateDate",
|
||||
DbType = DbType.DateTime,
|
||||
Value = logFileInfo.CreationTimeUtc
|
||||
});
|
||||
commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter
|
||||
{
|
||||
ParameterName = "ModificationDate",
|
||||
DbType = DbType.DateTime,
|
||||
Value = logFileInfo.LastWriteTimeUtc
|
||||
});
|
||||
commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter
|
||||
{
|
||||
ParameterName = "LastEventNumber",
|
||||
DbType = DbType.Int64,
|
||||
Value = position.EventNumber
|
||||
});
|
||||
commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter
|
||||
{
|
||||
ParameterName = "LastCurrentFileReferences",
|
||||
DbType = DbType.AnsiString,
|
||||
Value = position.CurrentFileReferences.Replace("\\", "\\\\")
|
||||
});
|
||||
commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter
|
||||
{
|
||||
ParameterName = "LastCurrentFileData",
|
||||
DbType = DbType.AnsiString,
|
||||
Value = position.CurrentFileData.Replace("\\", "\\\\")
|
||||
});
|
||||
commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter
|
||||
{
|
||||
ParameterName = "LastStreamPosition",
|
||||
DbType = DbType.Int64,
|
||||
Value = position.StreamPosition ?? 0
|
||||
});
|
||||
|
||||
commandAddLogInfo.ExecuteNonQuery();
|
||||
var bulkResult = bulkCopyInterface.WriteToServerAsync(values);
|
||||
bulkResult.Wait();
|
||||
}
|
||||
}
|
||||
public long GetLogFileInfoNewId(InformationSystemsBase system)
|
||||
{
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<Version>1.0.0.17</Version>
|
||||
<Version>1.0.0.18</Version>
|
||||
<Authors>Permitin Yuriy</Authors>
|
||||
<Company>Permitin Yuriy</Company>
|
||||
<Product>Event log export assistant to ClickHouse</Product>
|
||||
@@ -15,7 +15,7 @@
|
||||
<RepositoryType>GIT</RepositoryType>
|
||||
<PackageTags>event, log, 1C, enterprise, export, elasticsearch, elk</PackageTags>
|
||||
<PackageReleaseNotes>Just beginning...</PackageReleaseNotes>
|
||||
<AssemblyVersion>1.0.0.17</AssemblyVersion>
|
||||
<AssemblyVersion>1.0.0.18</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
+4
-4
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<Version>1.0.0.47</Version>
|
||||
<Version>1.0.0.48</Version>
|
||||
<PackageId>YY.EventLogExportAssistant.PostgreSQL</PackageId>
|
||||
<Authors>Permitin Yuriy</Authors>
|
||||
<Product>Event log export assistant for PostgreSQL</Product>
|
||||
@@ -14,9 +14,9 @@
|
||||
<RepositoryType>GIT</RepositoryType>
|
||||
<PackageTags>event, log, 1C, enterprise, export, postgres, postgresql</PackageTags>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<AssemblyVersion>1.0.0.47</AssemblyVersion>
|
||||
<AssemblyVersion>1.0.0.48</AssemblyVersion>
|
||||
<PackageReleaseNotes>Just beginning...</PackageReleaseNotes>
|
||||
<FileVersion>1.0.0.47</FileVersion>
|
||||
<FileVersion>1.0.0.48</FileVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -32,7 +32,7 @@
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="5.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" />
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.1" />
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.2" />
|
||||
<PackageReference Include="NpgsqlBulk.EFCore" Version="0.9.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.1">
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.2">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.1">
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.2">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.1">
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.2">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.1">
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.2">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.1">
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.2">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.1">
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.2">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
|
||||
Reference in New Issue
Block a user