예제 #1
0
        ILog IInternalLogManager.GetNewLog(IInternalLogManager logManager, string name)
        {
            var logger = new Log(logManager, name);

            _loggers.Enqueue(logger);
            return(logger);
        }
예제 #2
0
        public static void Shutdown()
        {
            var logManager = _logManager;

            _logManager = _noOpLogManager;

            logManager?.Dispose();
        }
예제 #3
0
        public static ILogManager Initialize(IConfigurationResolver configResolver, [CanBeNull] ZeroLogInitializationConfig config = null)
        {
            if (_logManager != _noOpLogManager)
            {
                throw new ApplicationException("LogManager is already initialized");
            }

            _logManager = new LogManager(configResolver, config ?? new ZeroLogInitializationConfig());
            return(_logManager);
        }
예제 #4
0
        public static ILogManager Initialize(IConfigurationResolver configResolver, int logEventQueueSize = 1024, int logEventBufferSize = 128)
        {
            if (_logManager != _defaultLogManager)
            {
                throw new ApplicationException("LogManager is already initialized");
            }

            _logManager = new LogManager(configResolver, logEventQueueSize, logEventBufferSize);
            return(_logManager);
        }
예제 #5
0
        internal Log(IInternalLogManager logManager, string name)
        {
            Name        = name;
            _logManager = logManager;

            var logEvent = CreateUnpooledLogEvent();

            _skippedMessageLogEvent = new ForwardingLogEvent(logEvent, this);

            ResetConfiguration();
        }
예제 #6
0
파일: Log.cs 프로젝트: y-skindersky/ZeroLog
        internal Log(IInternalLogManager logManager, string name)
        {
            Name        = name;
            _logManager = logManager;

            var logEvent = CreateUnpooledLogEvent();

            _specialLogMessage = new ForwardingLogEvent(logEvent);
            _specialLogMessage.Initialize(Level.Fatal, this);

            ResetConfiguration();
        }
예제 #7
0
 public ILog GetNewLog(IInternalLogManager logManager, string name) => NoopLog.Instance;