public void LogBatch(Log.PriorityFlags logLevel, StructuredLogObject logObject, LogChannelType channel = LogChannelType.Default)
 {
     if (!clubPenguinClient.OfflineMode)
     {
         LogParameters logParameters = new LogParameters();
         logParameters.logName  = channel.ToString();
         logParameters.severity = logLevelsToString[logLevel];
         logParameters.message  = Service.Get <JsonService>().Serialize(logObject);
         logParametersList.Add(logParameters);
     }
 }
Пример #2
0
            private static ITextChannel TryGetLogChannel(IGuild guild, LogSetting logSetting, LogChannelType logChannelType = LogChannelType.Text)
            {
                ulong id = 0;

                switch (logChannelType)
                {
                case LogChannelType.Text:
                    id = logSetting.ChannelId;
                    break;

                case LogChannelType.Voice:
                    id = logSetting.VoicePresenceChannelId;
                    break;

                case LogChannelType.UserPresence:
                    id = logSetting.UserPresenceChannelId;
                    break;
                }
                var channel = guild.GetTextChannel(id);

                if (channel == null)
                {
                    using (var uow = DbHandler.UnitOfWork())
                    {
                        var newLogSetting = uow.GuildConfigs.For(guild.Id).LogSetting;
                        switch (logChannelType)
                        {
                        case LogChannelType.Text:
                            logSetting.IsLogging = false;
                            break;

                        case LogChannelType.Voice:
                            logSetting.LogVoicePresence = false;
                            break;

                        case LogChannelType.UserPresence:
                            logSetting.LogUserPresence = false;
                            break;
                        }
                        GuildLogSettings.AddOrUpdate(guild.Id, newLogSetting, (gid, old) => newLogSetting);
                        uow.Complete();
                        return(null);
                    }
                }
                else
                {
                    return(channel);
                }
            }
Пример #3
0
 public void LogBatch(Log.PriorityFlags logLevel, StructuredLogObject logObject, LogChannelType channel = LogChannelType.Default)
 {
     clubPenguinClient.DiagnosticsApi.LogBatch(logLevel, logObject, channel);
 }
 public void LogImmediate(Log.PriorityFlags logLevel, StructuredLogObject logObject, LogChannelType channel = LogChannelType.Default)
 {
     if (!clubPenguinClient.OfflineMode)
     {
         LogParameters logParameters = new LogParameters();
         logParameters.logName  = channel.ToString();
         logParameters.severity = logLevelsToString[logLevel];
         logParameters.message  = Service.Get <JsonService>().Serialize(logObject);
         logParametersList.Add(logParameters);
         APICall <PostDiagnosticsLogOperation> aPICall = PostDiagnosticsLog(logParametersList);
         aPICall.OnComplete += onPostDiagnosticsLog;
         aPICall.Execute();
     }
 }
Пример #5
0
            private static ITextChannel TryGetLogChannel(IGuild guild, LogSetting logSetting, LogChannelType logChannelType = LogChannelType.Text)
            {
                ulong id = 0;
                switch (logChannelType)
                {
                    case LogChannelType.Text:
                        id = logSetting.ChannelId;
                        break;
                    case LogChannelType.Voice:
                        id = logSetting.VoicePresenceChannelId;
                        break;
                    case LogChannelType.UserPresence:
                        id = logSetting.UserPresenceChannelId;
                        break;
                }
                var channel = guild.GetTextChannel(id);

                if (channel == null)
                    using (var uow = DbHandler.UnitOfWork())
                    {
                        var newLogSetting = uow.GuildConfigs.For(guild.Id).LogSetting;
                        switch (logChannelType)
                        {
                            case LogChannelType.Text:
                                logSetting.IsLogging = false;
                                break;
                            case LogChannelType.Voice:
                                logSetting.LogVoicePresence = false;
                                break;
                            case LogChannelType.UserPresence:
                                logSetting.LogUserPresence = false;
                                break;
                        }
                        GuildLogSettings.AddOrUpdate(guild.Id, newLogSetting, (gid, old) => newLogSetting);
                        uow.Complete();
                        return null;
                    }
                else
                    return channel;
            }