我正在研究一种将控制台窗口输出发送到discord通道的功能。
我设法使其正常运行,但是我无法获得该功能的主要目标。
我想直接从控制台获取输出,而不是从我拥有的logger类获取输出。
我有一个单独的logger类来控制所有日志记录,这是标准的方式,但是我从未尝试直接从控制台获取输出。
我已经搜索并找到Console.Out()方法,但是我想它主要用于写入文本文件。
我正在使用Discord.Net。
这是我从记录器类调用的示例函数。
public sealed class LogToChannel : DiscordHandler
{
public static async Task SendToChannel(string message)
{
try
{
if (!IsServerOnline || string.IsNullOrEmpty(message) || string.IsNullOrWhiteSpace(message))
{
return;
}
string shortDate = DateTime.Now.ToShortDateString();
string shortTime = DateTime.Now.ToShortTimeString();
string LogFormat = $"[{shortDate} {shortTime}] {message}";
await Task.Delay(200).ConfigureAwait(false);
await Client.GetGuild(4646556464646464546).GetTextChannel(546464654646546465).SendMessageAsync(LogFormat).ConfigureAwait(false);
}
catch (Exception ex)
{
if(ex is NullReferenceException)
{
throw;
}
else
{
SGF.SGFLogger.LogException(ex);
return;
}
}
}
}