first commit
This commit is contained in:
commit
bae64833d8
7 files changed
+171
No files matched your search
@@ -0,0 +1,4 @@
|
|||||||
|
.vs
|
||||||
|
bin
|
||||||
|
obj
|
||||||
|
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<PublishAot>true</PublishAot>
|
||||||
|
<InvariantGlobalization>true</InvariantGlobalization>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="CsvHelper" Version="30.0.1" />
|
||||||
|
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.118" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<_LastSelectedProfileId>D:\CS\ExportAssiatantLog\Properties\PublishProfiles\FolderProfile.pubxml</_LastSelectedProfileId>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.7.34024.191
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExportAssiatantLog", "ExportAssiatantLog.csproj", "{73F594F6-BE9B-4580-B7EC-B864394E3A26}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{73F594F6-BE9B-4580-B7EC-B864394E3A26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{73F594F6-BE9B-4580-B7EC-B864394E3A26}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{73F594F6-BE9B-4580-B7EC-B864394E3A26}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{73F594F6-BE9B-4580-B7EC-B864394E3A26}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {858EF043-7C6A-4799-89F0-D9C18BD67843}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
+91
@@ -0,0 +1,91 @@
|
|||||||
|
using System;
|
||||||
|
using System.Data.SQLite;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
|
using System.Text;
|
||||||
|
using CsvHelper;
|
||||||
|
|
||||||
|
namespace ExportAssiatantLog
|
||||||
|
{
|
||||||
|
class Program
|
||||||
|
{
|
||||||
|
static void Main(string[] args)
|
||||||
|
{
|
||||||
|
var localAppDataPath = Environment.GetEnvironmentVariable("LOCALAPPDATA");
|
||||||
|
var dbPath = Path.Combine(localAppDataPath, "ShadowBot", "users", "Assistant", "assistant.db3");
|
||||||
|
|
||||||
|
var downloadPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads");
|
||||||
|
|
||||||
|
var dateString = DateTime.UtcNow.ToString("yyyy-MM-dd");
|
||||||
|
var filename = $"{dateString}-assistant-job-logs.csv";
|
||||||
|
var exportPath = Path.Combine(downloadPath, filename);
|
||||||
|
|
||||||
|
using var conn = new SQLiteConnection($"Data Source={dbPath}");
|
||||||
|
conn.Open();
|
||||||
|
|
||||||
|
using var cmd = new SQLiteCommand(conn);
|
||||||
|
using var writer = new StreamWriter(exportPath, false, Encoding.UTF8);
|
||||||
|
using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
csv.WriteRecords(GetData(cmd));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static IEnumerable<DataRecord> GetData(SQLiteCommand cmd)
|
||||||
|
{
|
||||||
|
int i = 1;
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
var tableName = $"assistant_job_logs_{i}";
|
||||||
|
var query = $@"SELECT `sceneInstJobUuid`, `level`, `time`, `content` FROM `{tableName}`";
|
||||||
|
|
||||||
|
cmd.CommandText = query;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SQLiteDataReader reader = null;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
reader = cmd.ExecuteReader();
|
||||||
|
}
|
||||||
|
catch (SQLiteException e)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (!reader.HasRows)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (reader.Read())
|
||||||
|
{
|
||||||
|
yield return new DataRecord
|
||||||
|
{
|
||||||
|
SceneInstJobUuid = reader.GetString(0),
|
||||||
|
Level = reader.GetString(1),
|
||||||
|
Time = reader.GetString(2),
|
||||||
|
Content = reader.GetString(3)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Close();
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class DataRecord
|
||||||
|
{
|
||||||
|
public string SceneInstJobUuid { get; set; }
|
||||||
|
public string Level { get; set; }
|
||||||
|
public string Time { get; set; }
|
||||||
|
public string Content { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||||
|
-->
|
||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Any CPU</Platform>
|
||||||
|
<PublishDir>bin\Release\net8.0\publish\win-x64\</PublishDir>
|
||||||
|
<PublishProtocol>FileSystem</PublishProtocol>
|
||||||
|
<_TargetId>Folder</_TargetId>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||||
|
<SelfContained>false</SelfContained>
|
||||||
|
<PublishSingleFile>true</PublishSingleFile>
|
||||||
|
<PublishReadyToRun>true</PublishReadyToRun>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||||
|
-->
|
||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<History>False|2023-09-04T16:57:21.6374168Z;False|2023-09-05T00:54:21.0789671+08:00;False|2023-09-05T00:54:02.1221891+08:00;</History>
|
||||||
|
<LastFailureDetails />
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
Reference in new issue
Block a user