コード例 #1
0
        public void Initialize(LoggerNames loggerNameEnum, string cacheName)
        {
            if (log != null)
            {
                throw new Exception("Multiple Initialize calls for same logger");
            }

            MemoryStream logStream = new MemoryStream(log4netXML);

            log4net.Config.XmlConfigurator.Configure(logStream);

            _loggerName = loggerNameEnum.ToString();

            string filename = _loggerName;

            if (loggerNameEnum == LoggerNames.ClientLogs)
            {
                filename = filename + "." + cacheName + "." + System.Diagnostics.Process.GetCurrentProcess().Id;

                // changing the name here will invalidate static log checks automatically since LoggerName == ClientLogs
                _loggerName = cacheName + System.Diagnostics.Process.GetCurrentProcess().Id;
            }
            else
            {
                filename = cacheName;
            }


            filename  = string.IsNullOrEmpty(filename) ? string.Empty : filename + ".";
            filename += DateTime.Now.ToString("dd-MM-yy HH-mm-ss") + "_" + _nodeIP + @".txt";

            string filepath = "";

            if (!DirectoryUtil.SearchGlobalDirectory("log-files", false, out filepath))
            {
                try
                {
                    DirectoryUtil.SearchLocalDirectory("log-files", true, out filepath);
                }
                catch (Exception ex)
                {
                    throw new Exception("Unable to initialize the log file", ex);
                }
            }
            try
            {
                filepath = Path.Combine(filepath, loggerNameEnum.ToString());
                if (!Directory.Exists(filepath))
                {
                    Directory.CreateDirectory(filepath);
                }

                filepath = Path.Combine(filepath, filename);
                AddAppender(CreateBufferAppender(filepath));
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #2
0
ファイル: SocketServer.cs プロジェクト: abayaz61/NCache
        /// <summary>
        /// Starts the socket server.It registers some types with compact Framework,
        /// enables simple logs as well as DetailedLogs, then it checks Ncache licence information.
        /// starts connection manager and perfmon counters.
        /// </summary>
        /// <param name="bindIP" ></param>
        ///
        public void Start(IPAddress bindIP, LoggerNames loggerName, string perfStatColInstanceName, CommandManagerType cmdMgrType, ConnectionManagerType conMgrType)
        {
            if (loggerName == null)
            {
                _loggerName = LoggerNames.SocketServerLogs;
            }
            else
            {
                _loggerName = loggerName;
            }
            InitializeLogging();

#if JAVA
            _perfStatsColl = new PerfStatsCollector("TayzGrid Server", _serverPort);
#else
            _perfStatsColl = new PerfStatsCollector(cacheName, _serverPort);
#endif
            _conManager = new ConnectionManager(_perfStatsColl);

            _conManager.Start(bindIP, _serverPort, _sendBuffer, _recieveBuffer, _logger, cmdMgrType, conMgrType);

            if (ConnectionManagerType.HostClient == conMgrType)
            {
                _hostClientConnectionManager = _conManager;
            }

            // We initialize PerfstatsCollector only for SocketServer's instance for client.
            // Management socket server has just DUMMY stats collector.
            if (conMgrType == ConnectionManagerType.HostClient)
            {
                _perfStatsColl.InitializePerfCounters();
            }
        }
コード例 #3
0
        public void InitializeAPILogging(LoggerNames loggerNameEnum, string cacheName, string filePath)
        {
            if (log != null)
            {
                throw new Exception("Multiple Initialize calls for same logger");
            }

            MemoryStream logStream = new MemoryStream(log4netXML);

            log4net.Config.XmlConfigurator.Configure(Log4net.LogRepository, logStream);

            _loggerName = loggerNameEnum.ToString();

            string filename = _loggerName;

            if (loggerNameEnum == LoggerNames.APILogs)
            {
                filename = cacheName;
            }
            filename  = string.IsNullOrEmpty(filename) ? string.Empty : filename + ".";
            filename += DateTime.Now.ToString("dd-MM-yy HH-mm-ss") + "_" + _nodeIP + @".txt";
            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }
            try
            {
                filePath = Path.Combine(filePath, filename);
                AddAppender(CreateBufferAppender(filePath, true, false));
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #4
0
 public void Initialize(LoggerNames loggerName)
 {
     if (loggerName != LoggerNames.License)
     {
         Initialize(loggerName, null);
     }
 }
コード例 #5
0
ファイル: LoggerManager.cs プロジェクト: waqashaneef/NosDB
        private ILogger GetLogger(LoggerNames logerNameEnum)
        {
            ILogger dbLogger = null;

            try
            {
                lock (_loggersPool)
                {
                    if (!_loggersPool.TryGetValue(logerNameEnum, out dbLogger))
                    {
                        var logger = new Logger();
                        logger.Getlogger(logerNameEnum);
                        lock (this)
                        {
                            _loggersPool.Add(logerNameEnum, logger);
                        }
                        dbLogger = logger;
                    }
                }
            }
            catch (Exception ex)
            {
                AppUtil.LogEvent(ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
            }
            return(dbLogger);
        }
コード例 #6
0
ファイル: Logger.cs プロジェクト: waqashaneef/NosDB
 public void Getlogger(LoggerNames loggerNameEnum)
 {
     try
     {
         _log = LogManager.GetLogger(loggerNameEnum.ToString());
     }
     catch (Exception ex)
     {
         AppUtil.LogEvent(ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
     }
 }
コード例 #7
0
ファイル: LoggerManager.cs プロジェクト: waqashaneef/NosDB
        public void Close(LoggerNames loggerNameEnum)
        {
            ILogger toClose;

            if (_loggersPool.TryGetValue(loggerNameEnum, out toClose))
            {
                ((Logger)toClose).Close();
                lock (this)
                {
                    _loggersPool.Remove(loggerNameEnum);
                }
            }
        }
コード例 #8
0
 public static void Log(LoggerNames name, LogLevel level, Exception ex, string message)
 {
     NLog.LogLevel nLevel = NLog.LogLevel.FromString(level.ToString());
     Log(name.ToString(), level, message, ex);
 }
コード例 #9
0
ファイル: NCacheLog.cs プロジェクト: javithalion/NCache
        public static void SetLevel(LoggerNames loggerEnum, Level level)
        {
            string loggerName = LoggingInformation.GetLoggerName(LoggingInformation.GetStaticLoggerName(loggerEnum.ToString()));
            if (loggerName != null && loggerName.Length > 0)
            {
                lock (NCacheLog.syncLock)
                {
                    log4net.Core.Level lvl;
                    switch (level.ToString().ToLower())
                    {
                        case "all":
                            lvl = log4net.Core.Level.All;
                            break;
                        case "error":
                            lvl = log4net.Core.Level.Error;
                            break;
                        case "fatal":
                            lvl = log4net.Core.Level.Fatal;
                            break;
                        case "info":
                            lvl = log4net.Core.Level.Info;
                            break;
                        case "debug":
                            lvl = log4net.Core.Level.Debug;
                            break;
                        case "warn":
                            lvl = log4net.Core.Level.Warn;
                            break;
                        case "off":
                            lvl = log4net.Core.Level.Off;
                            break;
                        default:
                            lvl = log4net.Core.Level.All;
                            break;

                    }

                    //If the logger doesnot exist it will create one else fetches one
                    log4net.ILog log = log4net.LogManager.GetLogger(loggerName);
                    //adds the logger as a seperate hierchy, not dependant on any other logger
                    log4net.Repository.Hierarchy.Logger l = (log4net.Repository.Hierarchy.Logger)log.Logger;

                    //Applies the logger threshold level
                    l.Level = l.Hierarchy.LevelMap[level.ToString()];

                    IAppender[] appenderCol = log.Logger.Repository.GetAppenders();

                    for (int i = 0; i < appenderCol.Length; i++)
                    {
                        IAppender appender = appenderCol[i];

                        if (appender != null)
                        {

                            if (appender is BufferingForwardingAppender)
                            {
                                ((BufferingForwardingAppender)appender).Threshold = lvl;
                            }

                            if (appender is RollingFileAppender)
                            {
                                ((RollingFileAppender)appender).Threshold = lvl;
                            }
                        }
                    }
                }
            }
            else
            {
                NCacheLog.LogLoggingError("loggerName != null && loggerName.Length > 0");
            }
        }
コード例 #10
0
        public static void SetLevel(LoggerNames loggerEnum, Level level)
        {
            string loggerName = LoggingInformation.GetLoggerName(LoggingInformation.GetStaticLoggerName(loggerEnum.ToString()));

            if (loggerName != null && loggerName.Length > 0)
            {
                lock (NCacheLog.syncLock)
                {
                    log4net.Core.Level lvl;
                    switch (level.ToString().ToLower())
                    {
                    case "all":
                        lvl = log4net.Core.Level.All;
                        break;

                    case "error":
                        lvl = log4net.Core.Level.Error;
                        break;

                    case "fatal":
                        lvl = log4net.Core.Level.Fatal;
                        break;

                    case "info":
                        lvl = log4net.Core.Level.Info;
                        break;

                    case "debug":
                        lvl = log4net.Core.Level.Debug;
                        break;

                    case "warn":
                        lvl = log4net.Core.Level.Warn;
                        break;

                    case "off":
                        lvl = log4net.Core.Level.Off;
                        break;

                    default:
                        lvl = log4net.Core.Level.All;
                        break;
                    }

                    //If the logger doesnot exist it will create one else fetches one
                    log4net.ILog log = log4net.LogManager.GetLogger(loggerName);
                    //adds the logger as a seperate hierchy, not dependant on any other logger
                    log4net.Repository.Hierarchy.Logger l = (log4net.Repository.Hierarchy.Logger)log.Logger;

                    //Applies the logger threshold level
                    l.Level = l.Hierarchy.LevelMap[level.ToString()];

                    IAppender[] appenderCol = log.Logger.Repository.GetAppenders();

                    for (int i = 0; i < appenderCol.Length; i++)
                    {
                        IAppender appender = appenderCol[i];

                        if (appender != null)
                        {
                            if (appender is BufferingForwardingAppender)
                            {
                                ((BufferingForwardingAppender)appender).Threshold = lvl;
                            }

                            if (appender is RollingFileAppender)
                            {
                                ((RollingFileAppender)appender).Threshold = lvl;
                            }
                        }
                    }
                }
            }
            else
            {
                NCacheLog.LogLoggingError("loggerName != null && loggerName.Length > 0");
            }
        }
コード例 #11
0
ファイル: NCacheLogger.cs プロジェクト: javithalion/NCache
        public void Initialize(LoggerNames loggerNameEnum, string cacheName)
        {

            if (log != null)
                throw new Exception("Multiple Initialize calls for same logger");

            MemoryStream logStream = new MemoryStream(log4netXML);
            log4net.Config.XmlConfigurator.Configure(logStream);

            _loggerName = loggerNameEnum.ToString();

            string filename = _loggerName;
            if (loggerNameEnum == LoggerNames.ClientLogs)
            {
                filename = filename + "." + cacheName + "." + System.Diagnostics.Process.GetCurrentProcess().Id;

                // changing the name here will invalidate static log checks automatically since LoggerName == ClientLogs
                _loggerName = cacheName + System.Diagnostics.Process.GetCurrentProcess().Id;
            }
			else
            {
                filename = cacheName;
            }


            filename = string.IsNullOrEmpty(filename) ? string.Empty : filename +  ".";
            filename += DateTime.Now.ToString("dd-MM-yy HH-mm-ss") + "_" + _nodeIP + @".txt";

            string filepath = "";

            if (!DirectoryUtil.SearchGlobalDirectory("log-files", false, out filepath))
            {
                try
                {
                    DirectoryUtil.SearchLocalDirectory("log-files", true, out filepath);
                }
                catch (Exception ex)
                {
                    throw new Exception("Unable to initialize the log file", ex);
                }
            }
            try
            {
                filepath = Path.Combine(filepath, loggerNameEnum.ToString());
                if (!Directory.Exists(filepath)) Directory.CreateDirectory(filepath);

                filepath = Path.Combine(filepath, filename);
                AddAppender(CreateBufferAppender(filepath));
            }
            catch (Exception)
            {
                throw;
            }

        }
コード例 #12
0
ファイル: NCacheLogger.cs プロジェクト: javithalion/NCache
        public void Initialize(LoggerNames loggerName)
        {

            if (loggerName != LoggerNames.License)
            {
                Initialize(loggerName, null);
            }

        }
コード例 #13
0
ファイル: SocketServer.cs プロジェクト: javithalion/NCache
        /// <summary>
        /// Starts the socket server.It registers some types with compact Framework, 
        /// enables simple logs as well as DetailedLogs, then it checks Ncache licence information.
        /// starts connection manager and perfmon counters.
        /// </summary>
        /// <param name="bindIP" ></param>
        /// 
        public void Start(IPAddress bindIP, LoggerNames loggerName, string perfStatColInstanceName, CommandManagerType cmdMgrType)
        {
            if (loggerName == null)
                _loggerName = LoggerNames.SocketServerLogs;
            else
                _loggerName = loggerName;
            InitializeLogging();
            _perfStatsColl = new PerfStatsCollector("NCache Server", _serverPort);
            _conManager = new ConnectionManager(_perfStatsColl);
            _conManager.Start(bindIP, _serverPort, _sendBuffer, _recieveBuffer, _logger, cmdMgrType);

            //We initialize PerfstatsCollector only for SocketServer's instance for client.
            //Management socket server has just DUMMY stats collector.
            if(cmdMgrType == CommandManagerType.NCacheClient)
                _perfStatsColl.InitializePerfCounters();
        }