update logger, provide config based on namespace

This commit is contained in:
sebastian-heinz 2023-01-16 00:00:00 +00:00
parent 4b2b894627
commit cc92b9700b
14 changed files with 42 additions and 27 deletions

1
.gitattributes vendored
View file

@ -19,3 +19,4 @@
*.csv binary
research/* linguist-generated=true
research/dti/* linguist-generated=true

View file

@ -18,7 +18,7 @@
<ProjectReference Include="..\Arrowgene.Ddon.WebServer\Arrowgene.Ddon.WebServer.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Arrowgene.Logging" Version="1.1.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.2.0" />
</ItemGroup>
</Project>

View file

@ -71,7 +71,7 @@ namespace Arrowgene.Ddon.Cli.Command
Logger.Info($"Loaded settings from:{settingPath}");
}
}
if (_database == null)
{
_database = DdonDatabaseBuilder.Build(_setting.DatabaseSetting);

View file

@ -13,7 +13,7 @@
<ItemGroup>
<PackageReference Include="Arrowgene.Buffers" Version="1.0.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.1.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.2.0" />
<PackageReference Include="SharpZipLib" Version="1.3.3" />
</ItemGroup>

View file

@ -12,7 +12,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Arrowgene.Logging" Version="1.1.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.2.0" />
<PackageReference Include="System.Data.SQLite" Version="1.0.115.5" />
</ItemGroup>

View file

@ -50,6 +50,8 @@ namespace Arrowgene.Ddon.GameServer
public DdonGameServer(GameServerSetting setting, IDatabase database, AssetRepository assetRepository)
: base(setting.ServerSetting, database, assetRepository)
{
LogProvider.ConfigureNamespace(typeof(DdonGameServer).Namespace, setting.ServerSetting);
Setting = new GameServerSetting(setting);
Router = new GameRouter();
ChatManager = new ChatManager(this, Router);

View file

@ -13,6 +13,6 @@
<ProjectReference Include="..\Arrowgene.Ddon.Server\Arrowgene.Ddon.Server.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Arrowgene.Logging" Version="1.1.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.2.0" />
</ItemGroup>
</Project>

View file

@ -38,6 +38,8 @@ namespace Arrowgene.Ddon.LoginServer
public DdonLoginServer(LoginServerSetting setting, IDatabase database, AssetRepository assetRepository)
: base(setting.ServerSetting, database, assetRepository)
{
LogProvider.ConfigureNamespace(typeof(DdonLoginServer).Namespace, setting.ServerSetting);
Setting = new LoginServerSetting(setting);
ClientLookup = new LoginClientLookup();
LoadPacketHandler();

View file

@ -13,6 +13,6 @@
<ProjectReference Include="..\Arrowgene.Ddon.GameServer\Arrowgene.Ddon.GameServer.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Arrowgene.Logging" Version="1.1.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.2.0" />
</ItemGroup>
</Project>

View file

@ -11,7 +11,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Arrowgene.Buffers" Version="1.0.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.1.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.2.0" />
<PackageReference Include="Arrowgene.Networking" Version="1.0.6" />
</ItemGroup>
<ItemGroup>

View file

@ -46,8 +46,6 @@ namespace Arrowgene.Ddon.Server
AssetRepository = assetRepository;
Database = database;
LogProvider.Configure<ServerLogger>(_setting);
_consumer = new Consumer<TClient>(
_setting,
_setting.ServerSocketSettings,

View file

@ -9,16 +9,16 @@ namespace Arrowgene.Ddon.Server
{
public class ServerLogger : Logger
{
private ServerSetting _setting;
private ServerSetting _serverSetting;
public override void Initialize(string identity, string name, Action<Log> write, object configuration)
public override void Initialize(string identity,
string name, Action<Log> write,
object loggerTypeTag,
object identityTag
)
{
base.Initialize(identity, name, write, configuration);
_setting = configuration as ServerSetting;
if (_setting == null)
{
Error("Couldn't apply DdonLogger configuration");
}
base.Initialize(identity, name, write, loggerTypeTag, identityTag);
_serverSetting = identityTag as ServerSetting;
}
public void Hex(byte[] data)
@ -82,16 +82,21 @@ namespace Arrowgene.Ddon.Server
public void LogPacket(Client client, IPacket packet)
{
if (_serverSetting == null)
{
Error("Can not log packet (_serverSetting == null)");
return;
}
switch (packet.Source)
{
case PacketSource.Client:
{
if (!_setting.LogIncomingPackets)
if (!_serverSetting.LogIncomingPackets)
{
return;
}
if (_setting.LogIncomingPacketStructure)
if (_serverSetting.LogIncomingPacketStructure)
{
if (packet is IStructurePacket structurePacket)
{
@ -100,7 +105,7 @@ namespace Arrowgene.Ddon.Server
}
}
if (!_setting.LogIncomingPacketPayload)
if (!_serverSetting.LogIncomingPacketPayload)
{
Write(LogLevel.Debug, $"{client.Identity}{Environment.NewLine}{packet.PrintHeader()}", packet);
return;
@ -110,12 +115,12 @@ namespace Arrowgene.Ddon.Server
}
case PacketSource.Server:
{
if (!_setting.LogOutgoingPackets)
if (!_serverSetting.LogOutgoingPackets)
{
return;
}
if (_setting.LogOutgoingPacketStructure)
if (_serverSetting.LogOutgoingPacketStructure)
{
if (packet is IStructurePacket structurePacket)
{
@ -124,7 +129,7 @@ namespace Arrowgene.Ddon.Server
}
}
if (!_setting.LogOutgoingPacketPayload)
if (!_serverSetting.LogOutgoingPacketPayload)
{
Write(LogLevel.Debug, $"{client.Identity}{Environment.NewLine}{packet.PrintHeader()}", packet);
return;
@ -133,7 +138,7 @@ namespace Arrowgene.Ddon.Server
break;
}
default:
if (!_setting.LogUnknownPackets)
if (!_serverSetting.LogUnknownPackets)
{
return;
}
@ -153,10 +158,17 @@ namespace Arrowgene.Ddon.Server
public void LogUnhandledPacket<TClient>(TClient client, IPacket packet) where TClient : Client
{
if (!_setting.LogUnknownPackets)
if (_serverSetting == null)
{
Error("Can not log unhandled packet (_serverSetting == null)");
return;
}
if (!_serverSetting.LogUnknownPackets)
{
return;
}
Write(LogLevel.Error,
$"UNHANDLED PACKET:{Environment.NewLine}{client.Identity}{Environment.NewLine}{packet}", packet);
}

View file

@ -13,7 +13,7 @@
<ItemGroup>
<PackageReference Include="Arrowgene.Buffers" Version="1.0.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.1.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.2.0" />
<PackageReference Include="YamlDotNet" Version="11.2.1" />
</ItemGroup>

View file

@ -10,7 +10,7 @@
<LangVersion>10</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Arrowgene.Logging" Version="1.1.2" />
<PackageReference Include="Arrowgene.Logging" Version="1.2.0" />
<PackageReference Include="Arrowgene.WebServer" Version="1.1.4" />
</ItemGroup>
<ItemGroup>