253 lines
11 KiB
C#
253 lines
11 KiB
C#
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
using System.Security.Cryptography;
|
|
|
|
|
|
|
|
using Newtonsoft.Json;
|
|
using NLog;
|
|
using NLog.AWS.Logger;
|
|
using NLog.Targets.Wrappers;
|
|
using NLog.Config;
|
|
using NLog.Layouts;
|
|
using Amazon.Runtime;
|
|
|
|
|
|
|
|
namespace ServerCore
|
|
{
|
|
|
|
//public class ServerLog
|
|
//{
|
|
// //static NLog.Logger log = LogManager.GetCurrentClassLogger();
|
|
// static NLog.Logger log = LogManager.GetLogger("Developer");
|
|
|
|
// public ServerLog()
|
|
// {
|
|
// }
|
|
// private static string _serverType = string.Empty;
|
|
// private static string _ipPort = string.Empty;
|
|
|
|
// public static void Init( string serverType, string ip, int port
|
|
// , string? logGroup = null
|
|
// , string? logNamePattern = null
|
|
// , string? logLevel = null
|
|
// , string? awsRegion = null
|
|
// , string? awsAccessKey = null
|
|
// , string? awsSecretKey = null
|
|
// , Layout? layout = null)
|
|
// {
|
|
// _serverType = serverType;
|
|
// //StringBuilder stringBuilder= new StringBuilder();
|
|
// //stringBuilder.AppendFormat();
|
|
// _ipPort = $"{ip}:{port}";
|
|
// //LogManager.Configuration.Variables["LogPath"] = "./";
|
|
// //LogManager.Configuration.Variables["LogFileName"] = "";
|
|
|
|
|
|
// if (logGroup == string.Empty || logGroup is null ||
|
|
// logNamePattern == string.Empty || logNamePattern is null ||
|
|
// logLevel == string.Empty || logLevel is null ||
|
|
// awsRegion == string.Empty || awsRegion is null ||
|
|
// awsAccessKey == string.Empty || awsAccessKey is null ||
|
|
// awsSecretKey == string.Empty || awsSecretKey is null)
|
|
// {
|
|
// return;
|
|
// }
|
|
|
|
// try
|
|
// {
|
|
// CloudWatchLogInit(logGroup, logNamePattern, logLevel, awsRegion, awsAccessKey, awsSecretKey, layout);
|
|
// }
|
|
// catch
|
|
// {
|
|
// Log.getLogger().error($"CloudWatchLogInit Error!!! {logGroup}, {logNamePattern}, {logLevel}, {awsRegion}, {awsAccessKey}, {awsSecretKey}");
|
|
// return;
|
|
// }
|
|
|
|
// }
|
|
// public static void End()
|
|
// {
|
|
// LogManager.Shutdown();
|
|
// }
|
|
|
|
// private static void CloudWatchLogInit( string? logGroup, string? namePattern, string? logLevel
|
|
// , string? awsRegion, string? awsAccessKey, string? awsSecretKey
|
|
// , Layout? layout)
|
|
// {
|
|
// var current_config = LogManager.Configuration;
|
|
// var aws_target = new AWSTarget()
|
|
// {
|
|
// LogGroup = logGroup,
|
|
// Region = awsRegion,
|
|
// Credentials = new BasicAWSCredentials(awsAccessKey, awsSecretKey),
|
|
// Layout = layout
|
|
// };
|
|
|
|
// var newRule = new LoggingRule(namePattern, LogLevel.FromString(logLevel), aws_target);
|
|
// current_config.LoggingRules.Add(newRule);
|
|
|
|
// LogManager.ReconfigExistingLoggers();
|
|
// }
|
|
|
|
// public static string GenerateRandomUniqueKey()
|
|
// {
|
|
// int length = 16;
|
|
// const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
// byte[] randomBytes = new byte[length];
|
|
// string nowTime = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString();
|
|
|
|
// using (RandomNumberGenerator rng = RandomNumberGenerator.Create())
|
|
// {
|
|
// rng.GetBytes(randomBytes);
|
|
// }
|
|
|
|
// StringBuilder result = new StringBuilder(length + nowTime.Length);
|
|
|
|
// foreach (byte b in randomBytes)
|
|
// {
|
|
// result.Append(chars[b % chars.Length]);
|
|
// }
|
|
// result.Append(nowTime);
|
|
|
|
// return result.ToString();
|
|
// }
|
|
|
|
// public static void Trace(string message,
|
|
// string player = "",
|
|
// [CallerMemberName] string memberName = "",
|
|
// [CallerFilePath] string sourceFilePath = "",
|
|
// [CallerLineNumber] int sourceLineNumber = 0)
|
|
// {
|
|
// LogEventInfo logEventInfo = new LogEventInfo(LogLevel.Trace, null, message);
|
|
// logEventInfo.Properties["player"] = player;
|
|
// logEventInfo.Properties["memberName"] = memberName;
|
|
// logEventInfo.Properties["filePath"] = sourceFilePath;
|
|
// logEventInfo.Properties["lineNumber"] = sourceLineNumber;
|
|
// logEventInfo.Properties["server"] = _serverType;
|
|
// logEventInfo.Properties["ipport"] = _ipPort;
|
|
// log.Trace(logEventInfo);
|
|
// }
|
|
|
|
// public static void Debug(string message,
|
|
// string player = "",
|
|
// [CallerMemberName] string memberName = "",
|
|
// [CallerFilePath] string sourceFilePath = "",
|
|
// [CallerLineNumber] int sourceLineNumber = 0)
|
|
// {
|
|
// LogEventInfo logEventInfo = new LogEventInfo(LogLevel.Debug, null, message);
|
|
// logEventInfo.Properties["player"] = player;
|
|
// logEventInfo.Properties["memberName"] = memberName;
|
|
// logEventInfo.Properties["filePath"] = sourceFilePath;
|
|
// logEventInfo.Properties["lineNumber"] = sourceLineNumber;
|
|
// logEventInfo.Properties["server"] = _serverType;
|
|
// logEventInfo.Properties["ipport"] = _ipPort;
|
|
// log.Debug(logEventInfo);
|
|
// }
|
|
|
|
// public static void Info(string message,
|
|
// string player = "",
|
|
// [CallerMemberName] string memberName = "",
|
|
// [CallerFilePath] string sourceFilePath = "",
|
|
// [CallerLineNumber] int sourceLineNumber = 0)
|
|
// {
|
|
// LogEventInfo logEventInfo = new LogEventInfo(LogLevel.Info, null, message);
|
|
// logEventInfo.Properties["player"] = player;
|
|
// logEventInfo.Properties["memberName"] = memberName;
|
|
// logEventInfo.Properties["filePath"] = sourceFilePath;
|
|
// logEventInfo.Properties["lineNumber"] = sourceLineNumber;
|
|
// logEventInfo.Properties["server"] = _serverType;
|
|
// logEventInfo.Properties["ipport"] = _ipPort;
|
|
// log.Info(logEventInfo);
|
|
// }
|
|
|
|
// /*
|
|
// static public void Info(string message, IReadOnlyList<KeyValuePair<object, object>> eventProperties,
|
|
// string player = "",
|
|
// [CallerMemberName] string memberName = "",
|
|
// [CallerFilePath] string sourceFilePath = "",
|
|
// [CallerLineNumber] int sourceLineNumber = 0)
|
|
// {
|
|
// var jsonProperties = new Dictionary<string, object>();
|
|
// foreach (var property in eventProperties)
|
|
// {
|
|
// var key = property.Key.ToString();
|
|
// if (key == null) continue;
|
|
// jsonProperties[key] = property.Value;
|
|
// }
|
|
// string jsonEventProperties = JsonConvert.SerializeObject(jsonProperties);
|
|
|
|
// LogEventInfo logEventInfo = new LogEventInfo(LogLevel.Info, null, message);
|
|
// logEventInfo.Properties["memberName"] = memberName;
|
|
// logEventInfo.Properties["player"] = player;
|
|
// logEventInfo.Properties["properties"] = jsonEventProperties;
|
|
// logEventInfo.Properties["filePath"] = sourceFilePath;
|
|
// logEventInfo.Properties["lineNumber"] = sourceLineNumber;
|
|
// logEventInfo.Properties["server"] = _serverType;
|
|
// logEventInfo.Properties["ipport"] = _ipPort;
|
|
|
|
// log.Info(logEventInfo);
|
|
// }*/
|
|
|
|
|
|
// public static void Warn(string message,
|
|
// string player = "",
|
|
// [CallerMemberName] string memberName = "",
|
|
// [CallerFilePath] string sourceFilePath = "",
|
|
// [CallerLineNumber] int sourceLineNumber = 0)
|
|
// {
|
|
// LogEventInfo logEventInfo = new LogEventInfo(LogLevel.Warn, null, message);
|
|
// logEventInfo.Properties["player"] = player;
|
|
// logEventInfo.Properties["filePath"] = sourceFilePath;
|
|
// logEventInfo.Properties["lineNumber"] = sourceLineNumber;
|
|
// logEventInfo.Properties["memberName"] = memberName;
|
|
// logEventInfo.Properties["server"] = _serverType;
|
|
// logEventInfo.Properties["ipport"] = _ipPort;
|
|
// log.Warn(logEventInfo);
|
|
// }
|
|
|
|
// public static void Error(string message,
|
|
// string player = "",
|
|
// [CallerMemberName] string memberName = "",
|
|
// [CallerFilePath] string sourceFilePath = "",
|
|
// [CallerLineNumber] int sourceLineNumber = 0)
|
|
// {
|
|
// LogEventInfo logEventInfo = new LogEventInfo(LogLevel.Error, null, message);
|
|
// logEventInfo.Properties["player"] = player;
|
|
// logEventInfo.Properties["filePath"] = sourceFilePath;
|
|
// logEventInfo.Properties["lineNumber"] = sourceLineNumber;
|
|
// logEventInfo.Properties["memberName"] = memberName;
|
|
// logEventInfo.Properties["server"] = _serverType;
|
|
// logEventInfo.Properties["ipport"] = _ipPort;
|
|
// log.Error(logEventInfo);
|
|
// }
|
|
|
|
// public static void Fatal(string message,
|
|
// string player = "",
|
|
// [CallerMemberName] string memberName = "",
|
|
// [CallerFilePath] string sourceFilePath = "",
|
|
// [CallerLineNumber] int sourceLineNumber = 0)
|
|
// {
|
|
// LogEventInfo logEventInfo = new LogEventInfo(LogLevel.Fatal, null, message);
|
|
// logEventInfo.Properties["player"] = player;
|
|
// logEventInfo.Properties["filePath"] = sourceFilePath;
|
|
// logEventInfo.Properties["lineNumber"] = sourceLineNumber;
|
|
// logEventInfo.Properties["memberName"] = memberName;
|
|
// logEventInfo.Properties["server"] = _serverType;
|
|
// logEventInfo.Properties["ipport"] = _ipPort;
|
|
// log.Fatal(logEventInfo);
|
|
// }
|
|
|
|
// public static void Sequence(string sender, string receiver, string message, string errDesc = "")
|
|
// {
|
|
// NLog.Logger sequence_logger = LogManager.GetLogger("SequenceLogger");
|
|
|
|
// LogEventInfo logEventInfo = new LogEventInfo(LogLevel.Debug, "SequenceLogger", message);
|
|
// logEventInfo.Properties["sender"] = sender;
|
|
// logEventInfo.Properties["receiver"] = receiver;
|
|
// logEventInfo.Properties["errordesc"] = (errDesc == string.Empty || errDesc.Contains("Success") == true ? $"{errDesc}" : $"ERR-{errDesc}");
|
|
// sequence_logger.Debug(logEventInfo);
|
|
// }
|
|
//}
|
|
}
|