Exemplo n.º 1
0
        private FilePacketLogger GetLogFile(NetGraph graph)
        {
            FilePacketLogger logger = null;

            lock (_fileLogs)
            {
                if (_fileLogs.ContainsKey(graph.Uuid))
                {
                    logger = _fileLogs[graph.Uuid].Logger;
                }
                else
                {
                    long   currLogIndex = Interlocked.Increment(ref _currentLogIndex);
                    string fileName     = Path.Combine(redirectLogControl.BaseDirectory,
                                                       String.Format("{0}-{1}", DateTime.Now.ToString("yyyyMMddHHmmss"),
                                                                     GeneralUtils.SanitizeFilename(graph.NetworkDescription, '_') + currLogIndex.ToString() + ".log"));

                    try
                    {
                        FileRedirectLogEntry redirect = new FileRedirectLogEntry(graph.NetworkDescription, fileName);
                        _fileLogs.Add(graph.Uuid, redirect);

                        logger = redirect.Logger;
                    }
                    catch (IOException ex)
                    {
                        eventLogControl.Logger.LogException(ex);
                    }
                }
            }

            return(logger);
        }
Exemplo n.º 2
0
        private FilePacketLogger GetLogFile(NetGraph graph)
        {
            FilePacketLogger logger = null;

            lock (_fileLogs)
            {
                if (_fileLogs.ContainsKey(graph.Uuid))
                {
                    logger =_fileLogs[graph.Uuid].Logger;
                }
                else
                {
                    long currLogIndex = Interlocked.Increment(ref _currentLogIndex);
                    string fileName = Path.Combine(redirectLogControl.BaseDirectory,
                        String.Format("{0}-{1}", DateTime.Now.ToString("yyyyMMddHHmmss"),
                        GeneralUtils.SanitizeFilename(graph.NetworkDescription, '_')+currLogIndex.ToString()+".log"));

                    try
                    {
                        FileRedirectLogEntry redirect = new FileRedirectLogEntry(graph.NetworkDescription, fileName);
                        _fileLogs.Add(graph.Uuid, redirect);

                        logger = redirect.Logger;
                    }
                    catch (IOException ex)
                    {
                        eventLogControl.Logger.LogException(ex);
                    }
                }
            }

            return logger;
        }