Admin logs (#5419)
* Add admin logging, models, migrations * Add logging damage changes * Add Log admin flag, LogFilter, Logs admin menu tab, message Refactor admin logging API * Change admin log get method names * Fix the name again * Minute amount of reorganization * Reset Postgres db snapshot * Reset Sqlite db snapshot * Make AdminLog have a composite primary key of round, id * Minute cleanup * Change admin system to do a type check instead of index check * Make admin logs use C# 10 interpolated string handlers * Implement UI on its own window Custom controls Searching Add admin log converters * Implement limits into the query * Change logs to be put into an OutputPanel instead for text wrapping * Add log <-> player m2m relationship back * UI improvements, make text wrap, add separators * Remove entity prefix from damaged log * Add explicit m2m model, fix any players filter * Add debug command to test bulk adding logs * Admin logs now just kinda go * Add histogram for database update time * Make admin log system update run every 5 seconds * Add a cap to the log queue and a metric for how many times it has been reached * Add metric for logs sent in a round * Make cvars out of admin logs queue send delay and cap * Merge fixes * Reset some changes * Add test for adding and getting a single log * Add tests for bulk adding logs * Add test for querying logs * Add CallerArgumentExpression to LogStringHandler methods and test * Improve UI, fix SQLite, add searching by round * Add entities to admin logs * Move distinct after orderby * Add migrations * ef core eat my ass * Add cvar for client logs batch size * Sort logs from newest to oldest by default * Merge fixes * Reorganize tests and add one for date ordering * Add note to log types to not change their numeric values * Add impacts to logs, better UI filtering * Make log add callable from shared for convenience * Get current round id directly from game ticker * Revert namespace change for DamageableSystem
This commit is contained in:
committed by
GitHub
parent
0f7e81b564
commit
319aec109d
55
Content.Client/Administration/UI/Logs/AdminLogsWindow.xaml
Normal file
55
Content.Client/Administration/UI/Logs/AdminLogsWindow.xaml
Normal file
@@ -0,0 +1,55 @@
|
||||
<SS14Window xmlns="https://spacestation14.io"
|
||||
xmlns:aui="clr-namespace:Content.Client.Administration.UI.CustomControls"
|
||||
Title="{Loc admin-logs-title}"
|
||||
MinWidth="1000"
|
||||
MinHeight="400">
|
||||
<BoxContainer Orientation="Horizontal">
|
||||
<BoxContainer Orientation="Vertical">
|
||||
<BoxContainer Orientation="Horizontal" MinWidth="400">
|
||||
<Label Text="{Loc admin-logs-round}"/>
|
||||
<SpinBox Name="RoundSpinBox" Value="0" MinWidth="150"/>
|
||||
<Control HorizontalExpand="True"/>
|
||||
<Button Name="ResetRoundButton" Text="{Loc admin-logs-reset}" HorizontalAlignment="Right"
|
||||
StyleClasses="OpenRight"/>
|
||||
</BoxContainer>
|
||||
<BoxContainer Orientation="Horizontal" VerticalExpand="True">
|
||||
<BoxContainer Orientation="Vertical" MinWidth="200">
|
||||
<LineEdit Name="TypeSearch" Access="Public" StyleClasses="actionSearchBox"
|
||||
HorizontalExpand="true" PlaceHolder="{Loc admin-logs-search-types-placeholder}"/>
|
||||
<BoxContainer Orientation="Horizontal">
|
||||
<Button Name="SelectAllTypesButton" Text="{Loc admin-logs-select-all}"
|
||||
MinWidth="100" StyleClasses="ButtonSquare"/>
|
||||
<Button Name="SelectNoTypesButton" Text="{Loc admin-logs-select-none}"
|
||||
MinWidth="100" StyleClasses="ButtonSquare"/>
|
||||
</BoxContainer>
|
||||
<ScrollContainer VerticalExpand="True">
|
||||
<BoxContainer Name="TypesContainer" Access="Public" Orientation="Vertical"/>
|
||||
</ScrollContainer>
|
||||
</BoxContainer>
|
||||
<aui:VSeparator/>
|
||||
<BoxContainer Orientation="Vertical" MinWidth="200">
|
||||
<LineEdit Name="PlayerSearch" Access="Public" StyleClasses="actionSearchBox"
|
||||
HorizontalExpand="true" PlaceHolder="{Loc admin-logs-search-players-placeholder}"/>
|
||||
<Button Name="SelectNoPlayersButton" Text="{Loc admin-logs-select-none}"
|
||||
StyleClasses="ButtonSquare"/>
|
||||
<ScrollContainer VerticalExpand="True">
|
||||
<BoxContainer Name="PlayersContainer" Access="Public" Orientation="Vertical"/>
|
||||
</ScrollContainer>
|
||||
</BoxContainer>
|
||||
<aui:VSeparator/>
|
||||
</BoxContainer>
|
||||
</BoxContainer>
|
||||
<BoxContainer Orientation="Vertical" HorizontalExpand="True">
|
||||
<BoxContainer Name="LogImpactContainer" Orientation="Horizontal"/>
|
||||
<BoxContainer Orientation="Horizontal">
|
||||
<LineEdit Name="LogSearch" Access="Public" StyleClasses="actionSearchBox"
|
||||
HorizontalExpand="true" PlaceHolder="{Loc admin-logs-search-logs-placeholder}"/>
|
||||
<Button Name="RefreshButton" Access="Public" Text="{Loc admin-logs-refresh}" StyleClasses="ButtonSquare"/>
|
||||
<Button Name="NextButton" Access="Public" Text="{Loc admin-logs-next}" StyleClasses="OpenLeft"/>
|
||||
</BoxContainer>
|
||||
<ScrollContainer VerticalExpand="True" HorizontalExpand="True" HScrollEnabled="False">
|
||||
<BoxContainer Name="LogsContainer" Access="Public" Orientation="Vertical" VerticalExpand="True"/>
|
||||
</ScrollContainer>
|
||||
</BoxContainer>
|
||||
</BoxContainer>
|
||||
</SS14Window>
|
||||
Reference in New Issue
Block a user