Beispiel #1
0
        protected internal void LogRecord(LogLevel level, Type type, int id, Exception ex, string message, params object[] arguments)
        {
            if (_logMode == LogMode.None)
            {
                return;
            }

            if (ex == null && string.IsNullOrEmpty(message))
            {
                // nothing to log
                return;
            }

            string recordMessage = FormatMessage(level, type, id, ex, message, arguments);

            if (_logMode.HasFlag(LogMode.Console) && Environment.UserInteractive)
            {
                LogToConsole(level, recordMessage);
            }

            if (CanBeLogged(level))
            {
                LogRecordInternal(level, type, id, recordMessage);
            }
        }
Beispiel #2
0
        public void Log(LogMode logMode, string message)
        {
            try
            {
                writeLock.Wait();

                // Executes if logMode isn't off, otherwise - no.
                if (!offLogMode.HasFlag(logMode))
                {
                    CreateDirectoryIfNotExist();

                    DeleteLogFileIfBig();

                    AddMessageToLogFile(logMode, message);
                }
            }
            finally
            {
                writeLock.Release();
            }
        }