Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
VIZ.Package
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘龙飞
VIZ.Package
Commits
55ec99ae
Commit
55ec99ae
authored
Feb 27, 2023
by
liulongfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
操作日志框架
parent
515bb9e4
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
600 additions
and
6 deletions
+600
-6
VIZ.Package.Domain/RecordLogConstants.cs
+37
-0
VIZ.Package.Domain/VIZ.Package.Domain.csproj
+1
-0
VIZ.Package.Module/Login/ViewModel/LoginViewModel.cs
+18
-0
VIZ.Package.Module/Setup/AppSetup_InitRecordLog.cs
+58
-0
VIZ.Package.Module/VIZ.Package.Module.csproj
+1
-0
VIZ.Package.Module/app.config
+6
-1
VIZ.Package.Service/DB/RecordLog/RecordLogService.cs
+55
-0
VIZ.Package.Service/DB/RecordLog/RecordLogWriter.cs
+188
-0
VIZ.Package.Service/VIZ.Package.Service.csproj
+27
-0
VIZ.Package.Service/app.config
+2
-2
VIZ.Package.Service/packages.config
+10
-0
VIZ.Package.Storage/CSV/RecordLog/RecordLog.cs
+55
-0
VIZ.Package.Storage/CSV/RecordLog/RecordLogOperate.cs
+45
-0
VIZ.Package.Storage/CSV/RecordLog/RecordLogTrigger.cs
+27
-0
VIZ.Package.Storage/Ini/LogConfig.cs
+21
-0
VIZ.Package.Storage/VIZ.Package.Storage.csproj
+4
-0
VIZ.Package.TestPlugin/app.config
+6
-1
VIZ.Package.WpfTest/App.config
+6
-1
VIZ.Package/App.config
+6
-1
VIZ.Package/App.xaml.cs
+2
-0
VIZ.Package/LoginWindow.xaml.cs
+12
-0
VIZ.Package/MainWindow.xaml.cs
+9
-0
VIZ.Package/config/config.ini
+4
-0
No files found.
VIZ.Package.Domain/RecordLogConstants.cs
0 → 100644
View file @
55ec99ae
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
VIZ.Package.Domain
{
/// <summary>
/// 操作日志常量
/// </summary>
public
static
class
RecordLogConstants
{
// ===============================================================================================
// 系统
// ===============================================================================================
/// <summary>
/// 系统启动
/// </summary>
public
const
string
SYSTEM_SET_UP
=
"系统启动"
;
// ===============================================================================================
// 操作
// ===============================================================================================
/// <summary>
/// 登录
/// </summary>
public
const
string
OPERATE_LOGIN
=
"登录"
;
/// <summary>
/// 关闭系统
/// </summary>
public
const
string
OPERATE_SHUTDOWN
=
"关闭系统"
;
}
}
VIZ.Package.Domain/VIZ.Package.Domain.csproj
View file @
55ec99ae
...
@@ -131,6 +131,7 @@
...
@@ -131,6 +131,7 @@
<Compile Include="Plugin\PluginInfo.cs" />
<Compile Include="Plugin\PluginInfo.cs" />
<Compile Include="Plugin\PluginType.cs" />
<Compile Include="Plugin\PluginType.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RecordLogConstants.cs" />
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="app.config" />
...
...
VIZ.Package.Module/Login/ViewModel/LoginViewModel.cs
View file @
55ec99ae
...
@@ -46,6 +46,11 @@ namespace VIZ.Package.Module
...
@@ -46,6 +46,11 @@ namespace VIZ.Package.Module
/// </summary>
/// </summary>
private
RegistryService
registryService
=
new
RegistryService
();
private
RegistryService
registryService
=
new
RegistryService
();
/// <summary>
/// 操作日志服务
/// </summary>
private
RecordLogService
recordLogService
=
new
RecordLogService
();
// ============================================================
// ============================================================
// Property
// Property
// ============================================================
// ============================================================
...
@@ -270,6 +275,9 @@ namespace VIZ.Package.Module
...
@@ -270,6 +275,9 @@ namespace VIZ.Package.Module
this
.
IsLoading
=
true
;
this
.
IsLoading
=
true
;
// 记录操作日志
this
.
recordLogService
.
AppendLog
(
ApplicationConstants
.
APPLICATION_GROUP_NAME
,
RecordLogOperate
.
System
,
RecordLogTrigger
.
System
,
RecordLogConstants
.
SYSTEM_SET_UP
);
// Step 1. 加载GH服务名列表 & VIZ服务名
// Step 1. 加载GH服务名列表 & VIZ服务名
this
.
GH_ServerName_List
=
ApplicationDomainEx
.
IniStorage
.
GetValue
<
VizConfig
,
string
>(
p
=>
p
.
VIZ_GH_SERVER_NAME
)
this
.
GH_ServerName_List
=
ApplicationDomainEx
.
IniStorage
.
GetValue
<
VizConfig
,
string
>(
p
=>
p
.
VIZ_GH_SERVER_NAME
)
?.
Split
(
new
char
[]
{
'|'
},
StringSplitOptions
.
RemoveEmptyEntries
)?.
ToList
();
?.
Split
(
new
char
[]
{
'|'
},
StringSplitOptions
.
RemoveEmptyEntries
)?.
ToList
();
...
@@ -384,6 +392,16 @@ namespace VIZ.Package.Module
...
@@ -384,6 +392,16 @@ namespace VIZ.Package.Module
ApplicationDomainEx
.
MainWindow
=
ApplicationDomainEx
.
MainWindowType
.
Assembly
.
CreateInstance
(
ApplicationDomainEx
.
MainWindowType
.
FullName
)
as
Window
;
ApplicationDomainEx
.
MainWindow
=
ApplicationDomainEx
.
MainWindowType
.
Assembly
.
CreateInstance
(
ApplicationDomainEx
.
MainWindowType
.
FullName
)
as
Window
;
ApplicationDomainEx
.
MainWindow
.
Show
();
ApplicationDomainEx
.
MainWindow
.
Show
();
loginWindow
.
Hide
();
loginWindow
.
Hide
();
// 记录操作日志
StringBuilder
remark
=
new
StringBuilder
();
remark
.
Append
(
$"GH库:
{
vizConfig
.
GH_IP
}
:
{
vizConfig
.
GH_Port
}
服务名:
{
vizConfig
.
GH_ServerName
}
"
);
remark
.
Append
(
$"账号:
{
vizConfig
.
GH_UserName
}
密码:
{
vizConfig
.
VIZ_Password
}
"
);
remark
.
Append
(
$"节目:
{
vizConfig
.
PluginGroup
??
string
.
Empty
}
"
);
remark
.
Append
(
$"引擎类型:
{
vizConfig
.
EngineFullType
.
GetDescription
()}
"
);
remark
.
Append
(
$"预览模式:
{
vizConfig
.
EnginePreviewMode
.
GetDescription
()}
"
);
this
.
recordLogService
.
AppendLog
(
ApplicationConstants
.
APPLICATION_GROUP_NAME
,
RecordLogOperate
.
Operate
,
RecordLogTrigger
.
Human
,
RecordLogConstants
.
OPERATE_LOGIN
,
remark
.
ToString
());
}
}
#
endregion
#
endregion
...
...
VIZ.Package.Module/Setup/AppSetup_InitRecordLog.cs
0 → 100644
View file @
55ec99ae
using
log4net
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VIZ.Framework.Module
;
using
VIZ.Package.Domain
;
using
VIZ.Package.Service
;
using
VIZ.Package.Storage
;
namespace
VIZ.Package.Module
{
/// <summary>
/// 应用程序启动 -- 初始化操作日志
/// </summary>
public
class
AppSetup_InitRecordLog
:
AppSetupBase
{
/// <summary>
/// 日志
/// </summary>
private
static
ILog
log
=
LogManager
.
GetLogger
(
typeof
(
AppSetup_InitRecordLog
));
/// <summary>
/// 描述
/// </summary>
public
override
string
Detail
{
get
;
}
=
"应用程序启动 -- 初始化操作日志"
;
/// <summary>
/// 执行启动
/// </summary>
/// <param name="context">应用程序启动上下文</param>
/// <returns>是否成功执行</returns>
public
override
bool
Setup
(
AppSetupContext
context
)
{
string
workFolder
=
System
.
IO
.
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"record_log"
);
if
(!
System
.
IO
.
Directory
.
Exists
(
workFolder
))
{
System
.
IO
.
Directory
.
CreateDirectory
(
workFolder
);
}
RecordLogService
.
LogWriter
=
new
RecordLogWriter
(
workFolder
);
RecordLogService
.
LogWriter
.
BeginWrite
();
return
true
;
}
/// <summary>
/// 执行关闭
/// </summary>
/// <param name="context">应用程序启动上下文</param>
public
override
void
Shutdown
(
AppSetupContext
context
)
{
RecordLogService
.
LogWriter
?.
Dispose
();
RecordLogService
.
LogWriter
=
null
;
}
}
}
\ No newline at end of file
VIZ.Package.Module/VIZ.Package.Module.csproj
View file @
55ec99ae
...
@@ -370,6 +370,7 @@
...
@@ -370,6 +370,7 @@
</Compile>
</Compile>
<Compile Include="Setting\VizConfig\VizConfigSettingPluginLifeCycle.cs" />
<Compile Include="Setting\VizConfig\VizConfigSettingPluginLifeCycle.cs" />
<Compile Include="Setting\VizConfig\ViewModel\VizConfigSettingViewModel.cs" />
<Compile Include="Setting\VizConfig\ViewModel\VizConfigSettingViewModel.cs" />
<Compile Include="Setup\AppSetup_InitRecordLog.cs" />
<Compile Include="Setup\AppSetup_InitCSV.cs" />
<Compile Include="Setup\AppSetup_InitCSV.cs" />
<Compile Include="Setup\AppSetup_InitLiteDB_Config.cs" />
<Compile Include="Setup\AppSetup_InitLiteDB_Config.cs" />
<Compile Include="Setup\AppSetup_InitLiteDB.cs" />
<Compile Include="Setup\AppSetup_InitLiteDB.cs" />
...
...
VIZ.Package.Module/app.config
View file @
55ec99ae
...
@@ -4,12 +4,16 @@
...
@@ -4,12 +4,16 @@
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Runtime.CompilerServices.Unsafe"
publicKeyToken
=
"b03f5f7f11d50a3a"
culture
=
"neutral"
/>
<
assemblyIdentity
name
=
"System.Runtime.CompilerServices.Unsafe"
publicKeyToken
=
"b03f5f7f11d50a3a"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-
6.0.0.0"
newVersion
=
"6.0.0.0
"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-
4.0.4.1"
newVersion
=
"4.0.4.1
"
/>
</
dependentAssembly
>
</
dependentAssembly
>
<
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Memory"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
assemblyIdentity
name
=
"System.Memory"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.1.1"
newVersion
=
"4.0.1.1"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.1.1"
newVersion
=
"4.0.1.1"
/>
</
dependentAssembly
>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Buffers"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.3.0"
newVersion
=
"4.0.3.0"
/>
</
dependentAssembly
>
</
assemblyBinding
>
</
assemblyBinding
>
</
runtime
>
</
runtime
>
</
configuration
>
</
configuration
>
\ No newline at end of file
VIZ.Package.Service/DB/RecordLog/RecordLogService.cs
0 → 100644
View file @
55ec99ae
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VIZ.Framework.Core
;
using
VIZ.Package.Domain
;
using
VIZ.Package.Storage
;
namespace
VIZ.Package.Service
{
/// <summary>
/// 操作日志服务
/// </summary>
public
class
RecordLogService
{
/// <summary>
/// 日志写入器
/// </summary>
public
static
RecordLogWriter
LogWriter
{
get
;
set
;
}
/// <summary>
/// 追加日志
/// </summary>
/// <param name="log">日志</param>
public
void
AppendLog
(
string
plugin
,
RecordLogOperate
operate
,
RecordLogTrigger
trigger
,
string
detail
)
{
this
.
AppendLog
(
plugin
,
operate
,
trigger
,
detail
,
string
.
Empty
);
}
/// <summary>
/// 追加日志
/// </summary>
/// <param name="log">日志</param>
public
void
AppendLog
(
string
plugin
,
RecordLogOperate
operate
,
RecordLogTrigger
trigger
,
string
detail
,
string
remark
)
{
if
(
string
.
IsNullOrWhiteSpace
(
plugin
))
throw
new
ArgumentNullException
(
nameof
(
plugin
));
if
(
string
.
IsNullOrWhiteSpace
(
detail
))
throw
new
ArgumentNullException
(
nameof
(
detail
));
RecordLog
record
=
new
RecordLog
();
record
.
ID
=
++
RecordLog
.
ALL_ID
;
record
.
DateTime
=
DateTime
.
Now
;
record
.
Plugin
=
plugin
;
record
.
Operate
=
operate
.
GetDescription
();
record
.
Trigger
=
trigger
.
GetDescription
();
record
.
Detail
=
detail
;
record
.
Remark
=
remark
;
LogWriter
?.
AppendLog
(
record
);
}
}
}
VIZ.Package.Service/DB/RecordLog/RecordLogWriter.cs
0 → 100644
View file @
55ec99ae
using
CsvHelper
;
using
log4net
;
using
System
;
using
System.Collections.Generic
;
using
System.Globalization
;
using
System.IO
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VIZ.Framework.Core
;
using
VIZ.Package.Domain
;
using
VIZ.Package.Storage
;
namespace
VIZ.Package.Service
{
/// <summary>
/// 操作日志写入器
/// </summary>
public
class
RecordLogWriter
:
IDisposable
{
/// <summary>
/// 日志
/// </summary>
private
readonly
static
ILog
log
=
LogManager
.
GetLogger
(
typeof
(
RecordLogWriter
));
/// <summary>
/// 操作日志单文件记录条数
/// </summary>
private
readonly
static
int
LOG_ONE_FILE_MAX_RECORD
=
ApplicationDomainEx
.
IniStorage
.
GetValue
<
LogConfig
,
int
>(
p
=>
p
.
LOG_ONE_FILE_MAX_RECORD
);
/// <summary>
/// 日志队列
/// </summary>
private
System
.
Collections
.
Concurrent
.
ConcurrentQueue
<
RecordLog
>
recordQueue
=
new
System
.
Collections
.
Concurrent
.
ConcurrentQueue
<
RecordLog
>();
/// <summary>
/// 任务信息
/// </summary>
private
TaskInfo
taskInfo
;
/// <summary>
/// 任务
/// </summary>
private
Task
task
;
/// <summary>
/// 写入流
/// </summary>
private
StreamWriter
streamWriter
;
/// <summary>
/// CSV写入
/// </summary>
private
CsvWriter
csvWriter
;
/// <summary>
/// 写入数量
/// </summary>
private
int
writeCount
;
/// <summary>
/// 写入锁对象
/// </summary>
private
object
write_lock_object
=
new
object
();
/// <summary>
/// 工作文件夹
/// </summary>
public
string
WorkFolder
{
get
;
private
set
;
}
/// <summary>
/// 操作日志写入器
/// </summary>
/// <param name="workFolder">工作文件夹</param>
public
RecordLogWriter
(
string
workFolder
)
{
this
.
WorkFolder
=
workFolder
;
this
.
streamWriter
=
new
StreamWriter
(
this
.
GetFileName
(),
false
,
Encoding
.
Default
);
this
.
csvWriter
=
new
CsvWriter
(
this
.
streamWriter
,
CultureInfo
.
InvariantCulture
);
}
/// <summary>
/// 追加日志
/// </summary>
public
void
AppendLog
(
RecordLog
log
)
{
this
.
recordQueue
.
Enqueue
(
log
);
}
/// <summary>
/// 开始写入
/// </summary>
public
void
BeginWrite
()
{
this
.
taskInfo
=
new
TaskInfo
();
this
.
task
=
ThreadHelper
.
SafeRun
(
this
.
ExecuteWrite
);
}
/// <summary>
/// 销毁
/// </summary>
public
void
Dispose
()
{
if
(
this
.
taskInfo
!=
null
)
{
this
.
taskInfo
.
IsCancel
=
true
;
}
this
.
taskInfo
=
null
;
this
.
task
=
null
;
// 写入日志
this
.
Flush
();
this
.
csvWriter
?.
Dispose
();
this
.
streamWriter
?.
Dispose
();
}
/// <summary>
/// 执行写入
/// </summary>
private
void
ExecuteWrite
()
{
TaskInfo
info
=
this
.
taskInfo
;
while
(!
info
.
IsCancel
)
{
System
.
Threading
.
Thread
.
Sleep
(
30
*
1000
);
if
(
this
.
taskInfo
==
null
||
this
.
taskInfo
.
IsCancel
)
return
;
this
.
Flush
();
}
}
/// <summary>
/// 将日志写入文件
/// </summary>
private
void
Flush
()
{
lock
(
this
.
write_lock_object
)
{
while
(
this
.
recordQueue
.
Count
>
0
)
{
if
(!
this
.
recordQueue
.
TryDequeue
(
out
RecordLog
record
))
{
System
.
Threading
.
Thread
.
Sleep
(
1000
);
continue
;
}
try
{
this
.
csvWriter
.
WriteRecord
(
record
);
this
.
csvWriter
.
NextRecord
();
++
this
.
writeCount
;
if
(
this
.
writeCount
>=
LOG_ONE_FILE_MAX_RECORD
)
{
this
.
csvWriter
.
Flush
();
this
.
csvWriter
.
Dispose
();
this
.
streamWriter
.
Dispose
();
this
.
streamWriter
=
new
StreamWriter
(
this
.
GetFileName
(),
false
,
Encoding
.
Default
);
this
.
csvWriter
=
new
CsvWriter
(
this
.
streamWriter
,
CultureInfo
.
InvariantCulture
);
this
.
writeCount
=
0
;
}
}
catch
(
Exception
ex
)
{
log
.
Error
(
ex
);
}
}
}
}
/// <summary>
/// 获取日志文件路径
/// </summary>
/// <returns>日志文件路径</returns>
private
string
GetFileName
()
{
return
Path
.
Combine
(
this
.
WorkFolder
,
$"
{
DateTime
.
Now
.
ToString
(
"yyyy_MM_dd__HH_mm_ss"
)}
.csv"
);
}
}
}
VIZ.Package.Service/VIZ.Package.Service.csproj
View file @
55ec99ae
...
@@ -49,16 +49,41 @@
...
@@ -49,16 +49,41 @@
<ErrorReport>prompt</ErrorReport>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
</PropertyGroup>
<ItemGroup>
<ItemGroup>
<Reference Include="CsvHelper, Version=30.0.0.0, Culture=neutral, PublicKeyToken=8c4959082be5c823, processorArchitecture=MSIL">
<HintPath>..\packages\CsvHelper.30.0.1\lib\net47\CsvHelper.dll</HintPath>
</Reference>
<Reference Include="LiteDB, Version=5.0.15.0, Culture=neutral, PublicKeyToken=4ee40123013c9f27, processorArchitecture=MSIL">
<Reference Include="LiteDB, Version=5.0.15.0, Culture=neutral, PublicKeyToken=4ee40123013c9f27, processorArchitecture=MSIL">
<HintPath>..\packages\LiteDB.5.0.15\lib\net45\LiteDB.dll</HintPath>
<HintPath>..\packages\LiteDB.5.0.15\lib\net45\LiteDB.dll</HintPath>
</Reference>
</Reference>
<Reference Include="log4net, Version=2.0.14.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<Reference Include="log4net, Version=2.0.14.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.14\lib\net45\log4net.dll</HintPath>
<HintPath>..\packages\log4net.2.0.14\lib\net45\log4net.dll</HintPath>
</Reference>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.1.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.HashCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.HashCode.1.0.0\lib\net461\Microsoft.Bcl.HashCode.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Configuration" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Drawing" />
<Reference Include="System.Memory, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.0\lib\netstandard2.0\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Web" />
<Reference Include="System.Windows" />
<Reference Include="System.Windows" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Xml.Linq" />
...
@@ -74,6 +99,8 @@
...
@@ -74,6 +99,8 @@
<Compile Include="DB\ControlObject\ControlObjectService.cs" />
<Compile Include="DB\ControlObject\ControlObjectService.cs" />
<Compile Include="DB\File\FileService.cs" />
<Compile Include="DB\File\FileService.cs" />
<Compile Include="DB\Page\PageService.cs" />
<Compile Include="DB\Page\PageService.cs" />
<Compile Include="DB\RecordLog\RecordLogService.cs" />
<Compile Include="DB\RecordLog\RecordLogWriter.cs" />
<Compile Include="DB\Registry\RegistryService.cs" />
<Compile Include="DB\Registry\RegistryService.cs" />
<Compile Include="Logic\Plugin\PluginService.cs" />
<Compile Include="Logic\Plugin\PluginService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
...
...
VIZ.Package.Service/app.config
View file @
55ec99ae
...
@@ -4,11 +4,11 @@
...
@@ -4,11 +4,11 @@
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Runtime.CompilerServices.Unsafe"
publicKeyToken
=
"b03f5f7f11d50a3a"
culture
=
"neutral"
/>
<
assemblyIdentity
name
=
"System.Runtime.CompilerServices.Unsafe"
publicKeyToken
=
"b03f5f7f11d50a3a"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-
6.0.0.0"
newVersion
=
"6.0.0.0
"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-
4.0.4.1"
newVersion
=
"4.0.4.1
"
/>
</
dependentAssembly
>
</
dependentAssembly
>
<
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Memory"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
assemblyIdentity
name
=
"System.Memory"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.1.
1"
newVersion
=
"4.0.1.1
"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.1.
0"
newVersion
=
"4.0.1.0
"
/>
</
dependentAssembly
>
</
dependentAssembly
>
</
assemblyBinding
>
</
assemblyBinding
>
</
runtime
>
</
runtime
>
...
...
VIZ.Package.Service/packages.config
View file @
55ec99ae
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
packages
>
<
packages
>
<
package
id
=
"CsvHelper"
version
=
"30.0.1"
targetFramework
=
"net48"
/>
<
package
id
=
"LiteDB"
version
=
"5.0.15"
targetFramework
=
"net48"
/>
<
package
id
=
"LiteDB"
version
=
"5.0.15"
targetFramework
=
"net48"
/>
<
package
id
=
"log4net"
version
=
"2.0.14"
targetFramework
=
"net48"
/>
<
package
id
=
"log4net"
version
=
"2.0.14"
targetFramework
=
"net48"
/>
<
package
id
=
"Microsoft.Bcl.AsyncInterfaces"
version
=
"1.0.0"
targetFramework
=
"net48"
/>
<
package
id
=
"Microsoft.Bcl.HashCode"
version
=
"1.0.0"
targetFramework
=
"net48"
/>
<
package
id
=
"Microsoft.CSharp"
version
=
"4.3.0"
targetFramework
=
"net48"
/>
<
package
id
=
"System.Buffers"
version
=
"4.4.0"
targetFramework
=
"net48"
/>
<
package
id
=
"System.Memory"
version
=
"4.5.0"
targetFramework
=
"net48"
/>
<
package
id
=
"System.Numerics.Vectors"
version
=
"4.4.0"
targetFramework
=
"net48"
/>
<
package
id
=
"System.Runtime.CompilerServices.Unsafe"
version
=
"4.5.2"
targetFramework
=
"net48"
/>
<
package
id
=
"System.Threading.Tasks.Extensions"
version
=
"4.5.2"
targetFramework
=
"net48"
/>
</
packages
>
</
packages
>
\ No newline at end of file
VIZ.Package.Storage/CSV/RecordLog/RecordLog.cs
0 → 100644
View file @
55ec99ae
using
CsvHelper.Configuration.Attributes
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
VIZ.Package.Storage
{
/// <summary>
/// 操作日志
/// </summary>
public
class
RecordLog
{
public
static
int
ALL_ID
=
0
;
/// <summary>
/// 编号
/// </summary>
public
int
ID
{
get
;
set
;
}
/// <summary>
/// 时间
/// </summary>
[
Format
(
"yyyy-MM-dd HH:mm:ss"
)]
public
DateTime
DateTime
{
get
;
set
;
}
/// <summary>
/// 插件
/// </summary>
public
string
Plugin
{
get
;
set
;
}
/// <summary>
/// 操作
/// </summary>
/// <see cref="RecordLogOperate"/>
public
string
Operate
{
get
;
set
;
}
/// <summary>
/// 触发
/// </summary>
/// <see cref="RecordLogTrigger"/>
public
string
Trigger
{
get
;
set
;
}
/// <summary>
/// 描述
/// </summary>
public
string
Detail
{
get
;
set
;
}
/// <summary>
/// 备注
/// </summary>
public
string
Remark
{
get
;
set
;
}
}
}
VIZ.Package.Storage/CSV/RecordLog/RecordLogOperate.cs
0 → 100644
View file @
55ec99ae
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
VIZ.Package.Storage
{
/// <summary>
/// 操作日志操作类型
/// </summary>
public
enum
RecordLogOperate
{
/// <summary>
/// 系统日志
/// </summary>
[
Description
(
"系统日志"
)]
System
,
/// <summary>
/// 操作日志
/// </summary>
[
Description
(
"操作日志"
)]
Operate
,
/// <summary>
/// Viz命令
/// </summary>
[
Description
(
"Viz命令"
)]
VizCommand
,
/// <summary>
/// Http请求
/// </summary>
[
Description
(
"Http请求"
)]
Http
,
/// <summary>
/// 数据仓储
/// </summary>
[
Description
(
"数据仓储"
)]
Storage
}
}
VIZ.Package.Storage/CSV/RecordLog/RecordLogTrigger.cs
0 → 100644
View file @
55ec99ae
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
VIZ.Package.Storage
{
/// <summary>
/// 操作日志触发
/// </summary>
public
enum
RecordLogTrigger
{
/// <summary>
/// 手动操作触发
/// </summary>
[
Description
(
"手动"
)]
Human
,
/// <summary>
/// 系统自动触发
/// </summary>
[
Description
(
"自动"
)]
System
}
}
VIZ.Package.Storage/Ini/LogConfig.cs
0 → 100644
View file @
55ec99ae
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VIZ.Framework.Storage
;
namespace
VIZ.Package.Storage
{
/// <summary>
/// 日志配置
/// </summary>
public
class
LogConfig
:
IniConfigBase
{
/// <summary>
/// 单文件最多记录条数
/// </summary>
[
Ini
(
Section
=
"Log"
,
DefaultValue
=
"1000"
,
Type
=
typeof
(
int
))]
public
string
LOG_ONE_FILE_MAX_RECORD
{
get
;
set
;
}
}
}
VIZ.Package.Storage/VIZ.Package.Storage.csproj
View file @
55ec99ae
...
@@ -94,6 +94,7 @@
...
@@ -94,6 +94,7 @@
<ItemGroup>
<ItemGroup>
<Compile Include="CsvDbContext.cs" />
<Compile Include="CsvDbContext.cs" />
<Compile Include="CSV\GridColumnDefintionItem.cs" />
<Compile Include="CSV\GridColumnDefintionItem.cs" />
<Compile Include="CSV\RecordLog\RecordLog.cs" />
<Compile Include="Entity\Config\HotKeyConfigEntity.cs" />
<Compile Include="Entity\Config\HotKeyConfigEntity.cs" />
<Compile Include="Entity\Config\MediaConfigEntity.cs" />
<Compile Include="Entity\Config\MediaConfigEntity.cs" />
<Compile Include="Entity\Config\PluginMappingConfigEntity.cs" />
<Compile Include="Entity\Config\PluginMappingConfigEntity.cs" />
...
@@ -109,11 +110,14 @@
...
@@ -109,11 +110,14 @@
<Compile Include="Enum\EngineFullType.cs" />
<Compile Include="Enum\EngineFullType.cs" />
<Compile Include="Enum\EngineType.cs" />
<Compile Include="Enum\EngineType.cs" />
<Compile Include="Enum\PageType.cs" />
<Compile Include="Enum\PageType.cs" />
<Compile Include="CSV\RecordLog\RecordLogOperate.cs" />
<Compile Include="CSV\RecordLog\RecordLogTrigger.cs" />
<Compile Include="Enum\VizControlFieldType.cs" />
<Compile Include="Enum\VizControlFieldType.cs" />
<Compile Include="Enum\VizControlObjectParameters.cs" />
<Compile Include="Enum\VizControlObjectParameters.cs" />
<Compile Include="Enum\VizLayer.cs" />
<Compile Include="Enum\VizLayer.cs" />
<Compile Include="Enum\EnginePreviewMode.cs" />
<Compile Include="Enum\EnginePreviewMode.cs" />
<Compile Include="Enum\VizScene.cs" />
<Compile Include="Enum\VizScene.cs" />
<Compile Include="Ini\LogConfig.cs" />
<Compile Include="Ini\VizConfig.cs" />
<Compile Include="Ini\VizConfig.cs" />
<Compile Include="LocalDbContext.cs" />
<Compile Include="LocalDbContext.cs" />
<Compile Include="ProjectDbContext.cs" />
<Compile Include="ProjectDbContext.cs" />
...
...
VIZ.Package.TestPlugin/app.config
View file @
55ec99ae
...
@@ -4,12 +4,16 @@
...
@@ -4,12 +4,16 @@
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Runtime.CompilerServices.Unsafe"
publicKeyToken
=
"b03f5f7f11d50a3a"
culture
=
"neutral"
/>
<
assemblyIdentity
name
=
"System.Runtime.CompilerServices.Unsafe"
publicKeyToken
=
"b03f5f7f11d50a3a"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-
6.0.0.0"
newVersion
=
"6.0.0.0
"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-
4.0.4.1"
newVersion
=
"4.0.4.1
"
/>
</
dependentAssembly
>
</
dependentAssembly
>
<
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Memory"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
assemblyIdentity
name
=
"System.Memory"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.1.1"
newVersion
=
"4.0.1.1"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.1.1"
newVersion
=
"4.0.1.1"
/>
</
dependentAssembly
>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Buffers"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.3.0"
newVersion
=
"4.0.3.0"
/>
</
dependentAssembly
>
</
assemblyBinding
>
</
assemblyBinding
>
</
runtime
>
</
runtime
>
</
configuration
>
</
configuration
>
\ No newline at end of file
VIZ.Package.WpfTest/App.config
View file @
55ec99ae
...
@@ -7,12 +7,16 @@
...
@@ -7,12 +7,16 @@
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Runtime.CompilerServices.Unsafe"
publicKeyToken
=
"b03f5f7f11d50a3a"
culture
=
"neutral"
/>
<
assemblyIdentity
name
=
"System.Runtime.CompilerServices.Unsafe"
publicKeyToken
=
"b03f5f7f11d50a3a"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-
6.0.0.0"
newVersion
=
"6.0.0.0
"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-
4.0.4.1"
newVersion
=
"4.0.4.1
"
/>
</
dependentAssembly
>
</
dependentAssembly
>
<
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Memory"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
assemblyIdentity
name
=
"System.Memory"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.1.1"
newVersion
=
"4.0.1.1"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.1.1"
newVersion
=
"4.0.1.1"
/>
</
dependentAssembly
>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Buffers"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.3.0"
newVersion
=
"4.0.3.0"
/>
</
dependentAssembly
>
</
assemblyBinding
>
</
assemblyBinding
>
</
runtime
>
</
runtime
>
</
configuration
>
</
configuration
>
\ No newline at end of file
VIZ.Package/App.config
View file @
55ec99ae
...
@@ -7,12 +7,16 @@
...
@@ -7,12 +7,16 @@
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Runtime.CompilerServices.Unsafe"
publicKeyToken
=
"b03f5f7f11d50a3a"
culture
=
"neutral"
/>
<
assemblyIdentity
name
=
"System.Runtime.CompilerServices.Unsafe"
publicKeyToken
=
"b03f5f7f11d50a3a"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-
6.0.0.0"
newVersion
=
"6.0.0.0
"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-
4.0.4.1"
newVersion
=
"4.0.4.1
"
/>
</
dependentAssembly
>
</
dependentAssembly
>
<
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Memory"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
assemblyIdentity
name
=
"System.Memory"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.1.1"
newVersion
=
"4.0.1.1"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.1.1"
newVersion
=
"4.0.1.1"
/>
</
dependentAssembly
>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Buffers"
publicKeyToken
=
"cc7b13ffcd2ddd51"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.3.0"
newVersion
=
"4.0.3.0"
/>
</
dependentAssembly
>
</
assemblyBinding
>
</
assemblyBinding
>
</
runtime
>
</
runtime
>
</
configuration
>
</
configuration
>
\ No newline at end of file
VIZ.Package/App.xaml.cs
View file @
55ec99ae
...
@@ -36,6 +36,8 @@ namespace VIZ.Package
...
@@ -36,6 +36,8 @@ namespace VIZ.Package
AppSetup
.
AppendSetup
(
new
AppSetup_InitCSV
());
AppSetup
.
AppendSetup
(
new
AppSetup_InitCSV
());
// 初始化LiteDB配置
// 初始化LiteDB配置
AppSetup
.
AppendSetup
(
new
AppSetup_InitLiteDB_Config
());
AppSetup
.
AppendSetup
(
new
AppSetup_InitLiteDB_Config
());
// 初始化操作日志
AppSetup
.
AppendSetup
(
new
AppSetup_InitRecordLog
());
// 执行启动流程
// 执行启动流程
AppSetupContext
context
=
AppSetup
.
Setup
();
AppSetupContext
context
=
AppSetup
.
Setup
();
...
...
VIZ.Package/LoginWindow.xaml.cs
View file @
55ec99ae
...
@@ -12,6 +12,8 @@ using System.Windows.Media;
...
@@ -12,6 +12,8 @@ using System.Windows.Media;
using
System.Windows.Media.Imaging
;
using
System.Windows.Media.Imaging
;
using
System.Windows.Shapes
;
using
System.Windows.Shapes
;
using
VIZ.Framework.Module
;
using
VIZ.Framework.Module
;
using
VIZ.Package.Domain
;
using
VIZ.Package.Service
;
namespace
VIZ.Package
namespace
VIZ.Package
{
{
...
@@ -20,6 +22,11 @@ namespace VIZ.Package
...
@@ -20,6 +22,11 @@ namespace VIZ.Package
/// </summary>
/// </summary>
public
partial
class
LoginWindow
:
ThemedWindow
public
partial
class
LoginWindow
:
ThemedWindow
{
{
/// <summary>
/// 操作日志服务
/// </summary>
private
RecordLogService
recordLogService
=
new
RecordLogService
();
public
LoginWindow
()
public
LoginWindow
()
{
{
InitializeComponent
();
InitializeComponent
();
...
@@ -32,8 +39,13 @@ namespace VIZ.Package
...
@@ -32,8 +39,13 @@ namespace VIZ.Package
/// </summary>
/// </summary>
private
void
MainWindow_Closed
(
object
sender
,
EventArgs
e
)
private
void
MainWindow_Closed
(
object
sender
,
EventArgs
e
)
{
{
// 记录操作日志
this
.
recordLogService
.
AppendLog
(
ApplicationConstants
.
APPLICATION_GROUP_NAME
,
Storage
.
RecordLogOperate
.
Operate
,
Storage
.
RecordLogTrigger
.
Human
,
RecordLogConstants
.
OPERATE_SHUTDOWN
);
// 启动结束流程
AppSetup
.
ShutDown
();
AppSetup
.
ShutDown
();
// 结束进程
Environment
.
Exit
(
0
);
Environment
.
Exit
(
0
);
}
}
}
}
...
...
VIZ.Package/MainWindow.xaml.cs
View file @
55ec99ae
...
@@ -14,6 +14,7 @@ using System.Windows.Media.Imaging;
...
@@ -14,6 +14,7 @@ using System.Windows.Media.Imaging;
using
System.Windows.Shapes
;
using
System.Windows.Shapes
;
using
VIZ.Framework.Module
;
using
VIZ.Framework.Module
;
using
VIZ.Package.Domain
;
using
VIZ.Package.Domain
;
using
VIZ.Package.Service
;
namespace
VIZ.Package
namespace
VIZ.Package
{
{
...
@@ -27,6 +28,11 @@ namespace VIZ.Package
...
@@ -27,6 +28,11 @@ namespace VIZ.Package
/// </summary>
/// </summary>
private
readonly
static
ILog
log
=
LogManager
.
GetLogger
(
typeof
(
MainWindow
));
private
readonly
static
ILog
log
=
LogManager
.
GetLogger
(
typeof
(
MainWindow
));
/// <summary>
/// 操作日志服务
/// </summary>
private
RecordLogService
recordLogService
=
new
RecordLogService
();
public
MainWindow
()
public
MainWindow
()
{
{
InitializeComponent
();
InitializeComponent
();
...
@@ -69,6 +75,9 @@ namespace VIZ.Package
...
@@ -69,6 +75,9 @@ namespace VIZ.Package
/// </summary>
/// </summary>
private
void
MainWindow_Closed
(
object
sender
,
EventArgs
e
)
private
void
MainWindow_Closed
(
object
sender
,
EventArgs
e
)
{
{
// 记录操作日志
this
.
recordLogService
.
AppendLog
(
ApplicationConstants
.
APPLICATION_GROUP_NAME
,
Storage
.
RecordLogOperate
.
Operate
,
Storage
.
RecordLogTrigger
.
Human
,
RecordLogConstants
.
OPERATE_SHUTDOWN
);
// 启动结束流程
// 启动结束流程
AppSetup
.
ShutDown
();
AppSetup
.
ShutDown
();
...
...
VIZ.Package/config/config.ini
View file @
55ec99ae
...
@@ -14,3 +14,6 @@ VIZ_FIELD_EDIT_DUPLET_TRIPLET_HIDDEN_FILTER=position
...
@@ -14,3 +14,6 @@ VIZ_FIELD_EDIT_DUPLET_TRIPLET_HIDDEN_FILTER=position
VIZ_GH_SERVER_NAME
=
VizDbServer
VIZ_GH_SERVER_NAME
=
VizDbServer
; Viz 用户名: Guest|Admin , 使用 "|" 分隔
; Viz 用户名: Guest|Admin , 使用 "|" 分隔
VIZ_USER_NAME
=
Guest|Admin
VIZ_USER_NAME
=
Guest|Admin
[Log]
; 单文件最多记录条数
LOG_ONE_FILE_MAX_RECORD
=
1000
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment