Summary of logger types, changes in AccountCommands.cs

This commit is contained in:
Lucca Faria Ferri 2023-01-26 17:06:25 -08:00
parent 8b2b385b0c
commit 54f135eac1
2 changed files with 66 additions and 34 deletions

View File

@ -16,7 +16,11 @@ namespace DiIiS_NA.Core.Logging
{
public string Name { get; protected set; }
/// <param name="name">Name of the logger.</param>
/// <summary>
/// A logger base type is used to create a logger instance.
/// E.g. ConsoleTarget, FileTarget, etc.
/// </summary>
/// <param name="name">Logger name</param>
public Logger(string name)
{
Name = name;
@ -25,80 +29,107 @@ namespace DiIiS_NA.Core.Logging
public enum Level
{
RenameAccountLog,
/// <summary>
/// Chat messages.
/// </summary>
ChatMessage,
BotCommand,
/// <summary>
/// The messages meant for debugging purposes.
/// Shouldn't be shown in production as they are not meant for the end user.
/// </summary>
Debug,
/// <summary>
/// The messages meant for tracing purposes.
/// Trace messages are rarer than debug messages and should be used for more precise tracing.
/// </summary>
Trace,
/// <summary>
/// Informational messages.
/// </summary>
Info,
/// <summary>
/// Warning messages.
/// </summary>
Warn,
/// <summary>
/// Error messages.
/// </summary>
Error,
/// <summary>
/// Fatal messages (usually unrecoverable errors that leads to client or server crashes).
/// </summary>
Fatal,
/// <summary>
/// Packet messages.
/// </summary>
PacketDump,
}
#region message loggers
/// <param name="message">The log message.</param>
public void ChatMessage(string message) { Log(Level.ChatMessage, message, null); }
/// <param name="message">The log message.</param>
/// <param name="args">Additional arguments.</param>
public void ChatMessage(string message, params object[] args) { Log(Level.ChatMessage, message, args); }
public void ChatMessage(string message) => Log(Level.ChatMessage, message, null);
/// <param name="message">The log message.</param>
public void BotCommand(string message) { Log(Level.BotCommand, message, null); }
/// <param name="args">Additional arguments.</param>
public void ChatMessage(string message, params object[] args) => Log(Level.ChatMessage, message, args);
/// <param name="message">The log message.</param>
public void BotCommand(string message) => Log(Level.BotCommand, message, null);
/// <param name="message">The log message.</param>
/// <param name="args">Additional arguments.</param>
public void BotCommand(string message, params object[] args) { Log(Level.BotCommand, message, args); }
/// <param name="message">The log message.</param>
public void RenameAccount(string message) { Log(Level.RenameAccountLog, message, null); }
public void RenameAccount(string message) => Log(Level.RenameAccountLog, message, null);
/// <param name="message">The log message.</param>
/// <param name="args">Additional arguments.</param>
public void RenameAccount(string message, params object[] args) { Log(Level.RenameAccountLog, message, args); }
public void RenameAccount(string message, params object[] args) => Log(Level.RenameAccountLog, message, args);
/// <param name="message">The log message.</param>
public void Trace(string message) { Log(Level.Trace, message, null); }
public void Trace(string message) => Log(Level.Trace, message, null);
/// <param name="message">The log message.</param>
/// <param name="args">Additional arguments.</param>
public void Trace(string message, params object[] args) { Log(Level.Trace, message, args); }
public void Trace(string message, params object[] args) => Log(Level.Trace, message, args);
/// <param name="message">The log message.</param>
public void Debug(string message) { Log(Level.Debug, message, null); }
public void Debug(string message) => Log(Level.Debug, message, null);
/// <param name="message">The log message.</param>
/// <param name="args">Additional arguments.</param>
public void Debug(string message, params object[] args) { Log(Level.Debug, message, args); }
public void Debug(string message, params object[] args) => Log(Level.Debug, message, args);
/// <param name="message">The log message.</param>
public void Info(string message) { Log(Level.Info, message, null); }
public void Info(string message) => Log(Level.Info, message, null);
/// <param name="message">The log message.</param>
/// <param name="args">Additional arguments.</param>
public void Info(string message, params object[] args) { Log(Level.Info, message, args); }
public void Info(string message, params object[] args) => Log(Level.Info, message, args);
/// <param name="message">The log message.</param>
public void Warn(string message) { Log(Level.Warn, message, null); }
public void Warn(string message) => Log(Level.Warn, message, null);
/// <param name="message">The log message.</param>
/// <param name="args">Additional arguments.</param>
public void Warn(string message, params object[] args) { Log(Level.Warn, message, args); }
public void Warn(string message, params object[] args) => Log(Level.Warn, message, args);
/// <param name="message">The log message.</param>
public void Error(string message) { Log(Level.Error, message, null); }
public void Error(string message) => Log(Level.Error, message, null);
/// <param name="message">The log message.</param>
/// <param name="args">Additional arguments.</param>
public void Error(string message, params object[] args) { Log(Level.Error, message, args); }
public void Error(string message, params object[] args) => Log(Level.Error, message, args);
/// <param name="message">The log message.</param>
public void Fatal(string message) { Log(Level.Fatal, message, null); }
public void Fatal(string message) => Log(Level.Fatal, message, null);
/// <param name="message">The log message.</param>
/// <param name="args">Additional arguments.</param>
public void Fatal(string message, params object[] args) { Log(Level.Fatal, message, args); }
public void Fatal(string message, params object[] args) => Log(Level.Fatal, message, args);
#endregion

View File

@ -35,9 +35,9 @@ namespace DiIiS_NA.GameServer.CommandManager
var account = AccountManager.GetAccountByEmail(email);
if (account == null)
return string.Format("No account with email '{0}' exists.", email);
return $"No account with email '{email}' exists.";
return string.Format("Email: {0} User Level: {1}", account.Email, account.UserLevel);
return $"Email: {account.Email} User Level: {account.UserLevel}";
}
[Command("add", "Allows you to add a new user account.\nUsage: account add <email> <password> <battletag> [userlevel]", Account.UserLevels.GM)]
@ -77,7 +77,7 @@ namespace DiIiS_NA.GameServer.CommandManager
}
if (!email.Contains('@'))
return string.Format("'{0}' is not a valid email address.", email);
return $"'{email}' is not a valid email address.";
if (battleTagName.Contains('#'))
return "BattleTag must not contain '#' or HashCode.";
@ -86,12 +86,13 @@ namespace DiIiS_NA.GameServer.CommandManager
return "Password should be a minimum of 8 and a maximum of 16 characters.";
if (AccountManager.GetAccountByEmail(email) != null)
return string.Format("An account already exists for email address {0}.", email);
return $"An account already exists for email address {email}.";
var account = AccountManager.CreateAccount(email, password, battleTagName, userLevel);
var gameAccount = GameAccountManager.CreateGameAccount(account);
//account.DBAccount.DBGameAccounts.Add(gameAccount.DBGameAccount);
return string.Format("Created new account {0} [user-level: {1}] Full BattleTag: {2}.", account.Email, account.UserLevel, account.BattleTag);
return
$"Created new account {account.Email} [user-level: {account.UserLevel}] Full BattleTag: {account.BattleTag}.";
}
[Command("setpassword", "Allows you to set a new password for account\nUsage: account setpassword <email> <password>", Account.UserLevels.GM)]
@ -106,13 +107,13 @@ namespace DiIiS_NA.GameServer.CommandManager
var account = AccountManager.GetAccountByEmail(email);
if (account == null)
return string.Format("No account with email '{0}' exists.", email);
return $"No account with email '{email}' exists.";
if (password.Length < 8 || password.Length > 16)
return "Password should be a minimum of 8 and a maximum of 16 characters.";
AccountManager.UpdatePassword(account, password);
return string.Format("Updated password for account {0}.", email);
account.UpdatePassword(password);
return $"Updated password for account {email}.";
}
[Command("setbtag", "Allows you to change battle tag for account\nUsage: account setbtag <email> <newname>", Account.UserLevels.GM)]
@ -127,10 +128,10 @@ namespace DiIiS_NA.GameServer.CommandManager
var account = AccountManager.GetAccountByEmail(email);
if (account == null)
return string.Format("No account with email '{0}' exists.", email);
return $"No account with email '{email}' exists.";
AccountManager.UpdateBattleTag(account, newname);
return string.Format("Updated battle tag for account {0}.", email);
account.UpdateBattleTag(newname);
return $"Updated battle tag for account {email}.";
}
[Command("setuserlevel", "Allows you to set a new user level for account\nUsage: account setuserlevel <email> <user level>.\nAvailable user levels: owner, admin, gm, user.", Account.UserLevels.GM)]
@ -146,7 +147,7 @@ namespace DiIiS_NA.GameServer.CommandManager
var account = AccountManager.GetAccountByEmail(email);
if (account == null)
return string.Format("No account with email '{0}' exists.", email);
return $"No account with email '{email}' exists.";
switch (level)
{
@ -169,7 +170,7 @@ namespace DiIiS_NA.GameServer.CommandManager
return level + " is not a valid user level.";
}
account.UpdateUserLevel(userLevel);
return string.Format("Updated user level for account {0} [user-level: {1}].", email, userLevel);
return $"Updated user level for account {email} [user-level: {userLevel}].";
}
}
@ -189,7 +190,7 @@ namespace DiIiS_NA.GameServer.CommandManager
var account = AccountManager.GetAccountByName(bTagName);
if (account == null)
return string.Format("No account with bTagName '{0}' exists.", bTagName);
return $"No account with bTagName '{bTagName}' exists.";
account.MuteTime = DateTime.Now.ToUnixTime() + (muteTime * 60);