示例#1
0
        public AppReportEventArgs(eAppReportType reportType, string reportMessage, eAppReporterLogLevel reportLogLevel = eAppReporterLogLevel.INFO, Exception reportExceptionToRecord = null, bool logOnlyOnDebugMode = false, eAppReporterMessageType reportMessageType = eAppReporterMessageType.INFO)
        {
            mReportType = reportType;

            mReportMessage = reportMessage;

            mReportLogLevel          = reportLogLevel;
            mLogOnlyOnDebugMode      = logOnlyOnDebugMode;
            mReportExceptionToRecord = reportExceptionToRecord;

            mReportMessageType = reportMessageType;
        }
示例#2
0
        public static void ToLog(eAppReporterLogLevel logLevel, string messageToLog, Exception exceptionToLog = null, bool writeAlsoToConsoleIfNeeded = true, bool writeOnlyInDebugMode = false)
        {
            try
            {
                if (writeOnlyInDebugMode)
                {
                    if (CurrentAppLogLevel != eAppReporterLoggingLevel.Debug)
                    {
                        return;
                    }
                }
                switch (logLevel)
                {
                case eAppReporterLogLevel.DEBUG:
                    log.Debug(messageToLog, exceptionToLog);
                    break;

                case eAppReporterLogLevel.ERROR:
                    log.Error(messageToLog, exceptionToLog);
                    OnErrorReportedEvent();
                    break;

                case eAppReporterLogLevel.FATAL:
                    log.Fatal(messageToLog, exceptionToLog);
                    break;

                case eAppReporterLogLevel.INFO:
                    log.Info(messageToLog, exceptionToLog);
                    break;

                case eAppReporterLogLevel.WARN:
                    log.Warn(messageToLog, exceptionToLog);
                    break;

                default:
                    log.Info(messageToLog, exceptionToLog);
                    break;
                }

                //if (writeAlsoToConsoleIfNeeded && AddAllReportingToConsole)
                ToConsole(logLevel.ToString() + ": " + messageToLog, exceptionToLog);
            }
            catch (Exception ex)
            {
                //failed to write to log
            }
        }
示例#3
0
 public static void ToLogAndConsole(eAppReporterLogLevel logLevel, string messageToLog, Exception exceptionToLog = null)
 {
     ToLog(logLevel, messageToLog, exceptionToLog, false);
     ToConsole(messageToLog);
 }
示例#4
0
 internal static void ToLog(eAppReporterLogLevel logLevel, string logMessage, Exception exceptionToRecord = null, bool logOnlyOnDebugMode = false)
 {
     OnReportEvent(reportType: eAppReportType.ToLog, reportMessage: logMessage, reportLogLevel: logLevel, reportExceptionToRecord: exceptionToRecord, logOnlyOnDebugMode: logOnlyOnDebugMode);
 }
示例#5
0
        public static void OnReportEvent(eAppReportType reportType, string reportMessage, eAppReporterLogLevel reportLogLevel = eAppReporterLogLevel.INFO, Exception reportExceptionToRecord = null, bool logOnlyOnDebugMode = false, eAppReporterMessageType reportMessageType = eAppReporterMessageType.INFO)
        {
            ReportEventHandler handler = ReportEvent;

            if (handler != null)
            {
                handler(new AppReportEventArgs(reportType, reportMessage, reportLogLevel, reportExceptionToRecord, logOnlyOnDebugMode, reportMessageType));
            }
        }