Пример #1
0
        protected void SaveEvent(PXExchangeEvent occasion)
        {
            if (occasion == null)
            {
                return;
            }

            PXDatabase.Insert <EMailSyncLog>(
                new PXDataFieldAssign <EMailSyncLog.serverID>(Account.AccountID),
                new PXDataFieldAssign <EMailSyncLog.address>(occasion.Address),
                new PXDataFieldAssign <EMailSyncLog.level>((byte)occasion.Level),
                new PXDataFieldAssign <EMailSyncLog.date>(occasion.Date),
                new PXDataFieldAssign <EMailSyncLog.message>(occasion.Message),
                new PXDataFieldAssign <EMailSyncLog.details>(occasion.Details == null ? null : String.Join(Environment.NewLine, occasion.Details)));
        }
Пример #2
0
        public void LogEvent(PXExchangeEvent occasion)
        {
            bool needLog = false;

            switch (occasion.Level)
            {
            case EventLevel.Critical:
            case EventLevel.Error:
            case EventLevel.Warning:
                if (Account.LoggingLevel != null && Account.LoggingLevel != EMailSyncServer.LogLevel.None)
                {
                    needLog = true;
                }
                break;

            case EventLevel.Informational:
                if (Account.LoggingLevel == EMailSyncServer.LogLevel.Informational || Account.LoggingLevel == EMailSyncServer.LogLevel.Verbose)
                {
                    needLog = true;
                }
                break;

            case EventLevel.LogAlways:
            case EventLevel.Verbose:
                if (Account.LoggingLevel == EMailSyncServer.LogLevel.Verbose)
                {
                    needLog = true;
                }
                break;
            }

            if (needLog)
            {
                if (Logger != null)
                {
                    Logger(occasion);
                }

                SaveEvent(occasion);
            }
        }