Example #1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public void accept(LogHeaderVisitor visitor) throws java.io.IOException
        public override void Accept(LogHeaderVisitor visitor)
        {
            // Start from the where we're currently at and go backwards in time (versions)
            long logVersion        = HighestLogVersion;
            long highTransactionId = _logFilesContext.LastCommittedTransactionId;

            while (VersionExists(logVersion))
            {
                long?previousLogLastTxId = _logHeaderCache.getLogHeader(logVersion);
                if (previousLogLastTxId == null)
                {
                    LogHeader header = readLogHeader(_fileSystem, GetLogFileForVersion(logVersion), false);
                    if (header != null)
                    {
                        Debug.Assert(logVersion == header.LogVersion);
                        _logHeaderCache.putHeader(header.LogVersion, header.LastCommittedTxId);
                        previousLogLastTxId = header.LastCommittedTxId;
                    }
                }

                if (previousLogLastTxId != null)
                {
                    long        lowTransactionId = previousLogLastTxId + 1;
                    LogPosition position         = LogPosition.start(logVersion);
                    if (!visitor.Visit(position, lowTransactionId, highTransactionId))
                    {
                        break;
                    }
                    highTransactionId = previousLogLastTxId.Value;
                }
                logVersion--;
            }
        }
Example #2
0
        internal void GetLogMessage()
        {
            using (SqlConnection conn = new SqlConnection(AppSettings.GetConnectionString(this, "Log")))
            {
                conn.Open();
                {
                    SqlCommand command = new SqlCommand(@"SELECT Message,ExceptionDetails 
																		FROM Log
																		WHERE ServiceInstanceID=@InstanceID"                                                                        );
                    command.Parameters.AddWithValue("@InstanceID", ServiceHistoryView.InstanceID);

                    command.Connection = conn;

                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            if (LogHeader == null)
                            {
                                LogHeader = new Dictionary <string, string>();
                            }
                            string message = reader["Message"].ToString();

                            while (LogHeader.ContainsKey(message))
                            {
                                message += " ";
                            }
                            LogHeader.Add(message, reader["ExceptionDetails"].ToString());
                        }
                    }
                }
            }
        }
Example #3
0
        public void ReadLogFileReadHeader()
        {
            var logReader = GetLogReader();
            var rcs       = logReader.OpenLogFile(LOG_FILE_INSTANCE);

            Assert.That(rcs.Status);
            Assert.That(rcs.Message.Length == 0);

            var actual   = logReader.CurrentLogHeader;
            var expected = new LogHeader
            {
                StartMsgNumber    = 60380,
                MsgCount          = 5,
                StartFileTime     = 130943708747330261,
                EndFileTime       = 130943708773045647,
                OffsetFirstRecord = 160,
                OffsetLastRecord  = 718,
                ComputerName      = "2014R2-VS-WSP",
                Session           = "Session",
                PrevFileName      = "2014R2-VS-WSP1449897272.aaLOG",
                HostFQDN          = ExpectedFqdn,
            };

            AreEqual(expected, actual);
        }
Example #4
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

            LogHeader header = new LogHeader();

            header.project    = "Projeto 10";
            header.line       = "4.11";
            header.phase      = "CHECKIMEI";
            header.station    = "CHECKIMEI_5";
            header.version    = "V5.1";
            header.starttime  = DateTime.Parse("2017-03-16 10:31:51");
            header.endtime    = DateTime.Now;
            header.sn         = "4ABCD5678";
            header.testresult = "PASS";
            header.elapsetime = 70;

            LogDAL _teste = new LogDAL();

            _teste.insert(ref header);

            List <LogResult> resultCol = new List <LogResult>();
            LogResult        result    = new LogResult();

            result.IdTp             = "0001";
            result.Result           = 10;
            result.elapsetimeresult = 5;

            resultCol.Add(result);
        }
Example #5
0
        public void AreEqual(string fileName, LogHeader actualObj, string optionalMessage = null)
        {
            string expectedText = File.ReadAllText(Path.Combine(RootFilePath, fileName));
            var    expectedObj  = JsonConvert.DeserializeObject <LogHeader>(expectedText);

            AreEqual(expectedObj, actualObj, optionalMessage);
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void correctLastAppliedToPreviousLogTransactionInHeaderOnLogFileRotation() throws java.io.IOException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void CorrectLastAppliedToPreviousLogTransactionInHeaderOnLogFileRotation()
        {
            LogFiles logFiles = GetLogFiles(_logVersionRepository, _transactionIdStore);

            Life.add(logFiles);
            DatabaseHealth databaseHealth = DatabaseHealth;

            LogRotationImpl                  logRotation = new LogRotationImpl(_monitors.newMonitor(typeof(Org.Neo4j.Kernel.impl.transaction.log.rotation.LogRotation_Monitor)), logFiles, databaseHealth);
            TransactionMetadataCache         transactionMetadataCache = new TransactionMetadataCache();
            SynchronizedArrayIdOrderingQueue idOrderingQueue          = new SynchronizedArrayIdOrderingQueue();

            BatchingTransactionAppender transactionAppender = new BatchingTransactionAppender(logFiles, logRotation, transactionMetadataCache, _transactionIdStore, idOrderingQueue, databaseHealth);

            Life.add(transactionAppender);

            LogAppendEvent     logAppendEvent     = new RotationLogAppendEvent(logRotation);
            TransactionToApply transactionToApply = PrepareTransaction();

            transactionAppender.Append(transactionToApply, logAppendEvent);

            assertEquals(1, logFiles.HighestLogVersion);
            File      highestLogFile = logFiles.HighestLogFile;
            LogHeader logHeader      = LogHeaderReader.readLogHeader(FileSystem, highestLogFile);

            assertEquals(2, logHeader.LastCommittedTxId);
        }
Example #7
0
        private void SaveLog()
        {
            if (!NeedToSave)
            {
                return;
            }
            NeedToSave = false;
            if (AnalysisType == AnalysisTypeEnum.Unknown)
            {
                return;
            }
            if (AnalysisType == AnalysisTypeEnum.LogFile)
            {
                MessageBox.Show("Saving saved log is retarded");
                return;
            }
            var header = new LogHeader {
                Region = Version.ToString()
            };
            PacketLogWriter writer = new PacketLogWriter(string.Format("{0}.TeraLog", DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss_" + Version, CultureInfo.InvariantCulture)), header);

            foreach (var message in OpcodeFinder.Instance.AllPackets)
            {
                writer.Append(message.Value);
            }
            writer.Dispose();
            MessageBox.Show("Saved");
        }
        internal void GetLogMessage()
        {
            using (SqlConnection conn = new SqlConnection(AppSettings.GetConnectionString(this, "Log")))
            {
                conn.Open();
                {
                    SqlCommand command = DataManager.CreateCommand(@"SELECT Message,ExceptionDetails 
																		FROM Log
																		WHERE ServiceInstanceID=@InstanceID:bigint"                                                                        );
                    command.Parameters["@InstanceID"].Value = ServiceHistoryView.InstanceID;

                    command.Connection = conn;

                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            if (LogHeader == null)
                            {
                                LogHeader = new Dictionary <string, string>();
                            }
                            LogHeader.Add(reader["Message"].ToString(), reader["ExceptionDetails"].ToString());
                        }
                    }
                }
            }
        }
Example #9
0
        public void CanSerialiseLogHeader()
        {
            var sut  = new LogHeader("Abc");
            var json = Newtonsoft.Json.JsonConvert.SerializeObject(sut);

            Assert.Contains("Abc", json);
        }
Example #10
0
        public void EnableLogging()
        {
            var header = new LogHeader {
                Region = "EU"
            };

            logWriter = new PacketLogWriter(string.Format("{0}.TeraLog", DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss", CultureInfo.InvariantCulture)), header);
        }
Example #11
0
 private void btnWriteHeader_Click(object sender, EventArgs e)
 {
     using (System.IO.StreamWriter file = new System.IO.StreamWriter(txtFileName.Text + "header.csv", true))
     {
         file.WriteLine(LogHeader.HeaderCSV());
         file.WriteLine(logReader.ReadLogHeader().ToCSV());
     }
 }
Example #12
0
    private Log(List <GameObject> trackedObjects)
    {
        if (!System.IO.Directory.Exists(Application.dataPath + "/Logs/"))
        {
            System.IO.Directory.CreateDirectory(Application.dataPath + "/Logs/");
        }

        logFileName         = Application.dataPath + "/Logs/" + System.DateTime.UtcNow.ToString("yyyy_MM_dd_HH_mm_ss") + ".csv";
        Header              = new LogHeader(trackedObjects);
        Entries             = new List <LogEntry> ();
        this.trackedObjects = trackedObjects;
    }
Example #13
0
 void _teraSniffer_NewConnection(Server server)
 {
     InvokeAction(() =>
     {
         var header = new LogHeader {
             Region = server.Region
         };
         _logWriter = new PacketLogWriter(string.Format("{0}.TeraLog", DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss", CultureInfo.InvariantCulture)), header);
         ConnectionList.Items.Clear();
         ConnectionList.Items.Add(string.Format("New connection to {0}started...", server.Name));
         _teraData = _basicTeraData.DataForRegion(server.Region);
     });
 }
Example #14
0
        public PacketLogWriter GetOrInitializeWriter(int opcode)
        {
            if (_writers.ContainsKey(opcode))
            {
                return(_writers[opcode]);
            }
            var header = new LogHeader {
                Region = opcode.ToString()
            };
            PacketLogWriter writer = new PacketLogWriter(PATH + VERSION + Path.DirectorySeparatorChar + opcode + SPLITTED_LOGS_EXTENSION, header);

            _writers.Add(opcode, writer);
            return(writer);
        }
Example #15
0
        private const Int32 DefaultLogGrade = 3; //默认日志级别
        //**********VERSION 1.1.2.0 END**********//

        #endregion

        #region Property -- 属性

        #endregion

        #region Method -- 方法
        /// <summary>
        /// 初始化日志服务头信息
        /// </summary>
        /// <returns></returns>
        public LogHeader PrepareLogHeader()
        {
            var logHeader = new LogHeader
            {
                LogInfo        = LogConfig.LogInfo,
                LogName        = LogConfig.LogName,
                LogSeperator   = LogConfig.LogSeperator,
                LogType        = LogConfig.LogType,
                LogVersion     = LogConfig.LogVersion,
                LogGenTime     = DateTime.Now,
                LogTraceEnable = LogConfig.LogTraceEnable
            };

            return(logHeader);
        }
Example #16
0
        private void SaveToTmpFile(string version, Queue <Message> packetsCopyStorage, string filename)
        {
            var header = new LogHeader {
                Region = version
            };
            PacketLogWriter writer = new PacketLogWriter(filename, header);

            foreach (var message in packetsCopyStorage)
            {
                ParsedMessage parsedMessage = PacketProcessor.Instance.MessageFactory.Create(message);
                parsedMessage = WipeoutSensitiveData(parsedMessage);
                writer.Append(message);
            }
            writer.Dispose();
        }
Example #17
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public static java.util.List<org.neo4j.kernel.impl.transaction.log.entry.LogEntry> logEntries(org.neo4j.io.fs.FileSystemAbstraction fileSystem, String logPath) throws java.io.IOException
        public static IList <LogEntry> LogEntries(FileSystemAbstraction fileSystem, string logPath)
        {
            File         logFile     = new File(logPath);
            StoreChannel fileChannel = fileSystem.Open(logFile, OpenMode.READ);

            // Always a header
            LogHeader header = readLogHeader(ByteBuffer.allocate(LOG_HEADER_SIZE), fileChannel, true, logFile);

            // Read all log entries
            PhysicalLogVersionedStoreChannel versionedStoreChannel = new PhysicalLogVersionedStoreChannel(fileChannel, header.LogVersion, header.LogFormatVersion);
            ReadableLogChannel logChannel     = new ReadAheadLogChannel(versionedStoreChannel);
            LogEntryCursor     logEntryCursor = new LogEntryCursor(new VersionAwareLogEntryReader <ReadableClosablePositionAwareChannel>(), logChannel);

            return(Iterables.asList(new IOCursorAsResourceIterable <>(logEntryCursor)));
        }
Example #18
0
        public override bool Equals(object o)
        {
            if (this == o)
            {
                return(true);
            }
            if (o == null || this.GetType() != o.GetType())
            {
                return(false);
            }

            LogHeader logHeader = ( LogHeader )o;

            return(LastCommittedTxId == logHeader.LastCommittedTxId && LogFormatVersion == logHeader.LogFormatVersion && LogVersion == logHeader.LogVersion);
        }
Example #19
0
 public void AreEqual(LogHeader expected, LogHeader actual, string optionalMessage = null)
 {
     Assert.AreEqual(expected.LogFilePath, actual.LogFilePath, "LogFilePath is wrong");
     Assert.AreEqual(expected.StartMsgNumber, actual.StartMsgNumber, "StartMsgNumber is wrong");
     Assert.AreEqual(expected.MsgCount, actual.MsgCount, "MsgCount is wrong");
     Assert.AreEqual(expected.EndMsgNumber, actual.EndMsgNumber, "EndMsgNumber is wrong");
     Assert.AreEqual(expected.StartFileTime, actual.StartFileTime, "StartFileTime is wrong");
     Assert.AreEqual(expected.EndFileTime, actual.EndFileTime, "EndFileTime is wrong");
     Assert.AreEqual(expected.OffsetFirstRecord, actual.OffsetFirstRecord, "OffsetFirstRecord is wrong");
     Assert.AreEqual(expected.OffsetLastRecord, actual.OffsetLastRecord, "OffsetLastRecord is wrong");
     Assert.AreEqual(expected.ComputerName, actual.ComputerName, "ComputerName is wrong");
     Assert.AreEqual(expected.Session, actual.Session, "Session is wrong");
     Assert.AreEqual(expected.PrevFileName, actual.PrevFileName, "PrevFileName is wrong");
     // This is not really a property of the source LogHeader, but of the reader
     //Assert.AreEqual(expected.HostFQDN, ExpectedFqdn, "HostFQDN is wrong");
 }
Example #20
0
        internal static ViewModel.LogHeader ToViewModel(LogHeader model)
        {
            ViewModel.LogHeader viewModel = null;

            if (model != null)
            {
                viewModel = new ViewModel.LogHeader();

                viewModel.Id         = model.Id;
                viewModel.Guid       = model.Guid;
                viewModel.Title      = model.Title;
                viewModel.CreateTime = model.CreateTime;
            }

            return(viewModel);
        }
Example #21
0
 void _teraSniffer_NewConnection(Server server)
 {
     InvokeAction(() =>
     {
         var header = new LogHeader {
             Region = server.Region
         };
         _logWriter = new PacketLogWriter(string.Format("{0}.TeraLog", DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss", CultureInfo.InvariantCulture)), header);
         ConnectionList.Items.Clear();
         ConnectionList.Items.Add(string.Format("New connection to {0}started...", server.Name));
         _messageFactory = new MessageFactory();
         _opCodeNamer    = new OpCodeNamer(new Dictionary <ushort, string> {
             { 19900, "C_CHECK_VERSION" }
         });
     });
 }
Example #22
0
    private void parseFile(string fileName)
    {
        logFileName = fileName;
        StreamReader rFile = new StreamReader(fileName);
        string       line  = rFile.ReadLine();

        Header = LogHeader.Parse(line);
        line   = rFile.ReadLine();
        while (line != null)
        {
            Entries.Add(LogEntry.Parse(Header, line));
            line = rFile.ReadLine();
        }
        rFile.Close();
        readOnly = true;
    }
Example #23
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public org.neo4j.kernel.impl.transaction.log.PhysicalLogVersionedStoreChannel openForVersion(long version) throws java.io.IOException
        public override PhysicalLogVersionedStoreChannel OpenForVersion(long version)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final java.io.File fileToOpen = getLogFileForVersion(version);
            File fileToOpen = GetLogFileForVersion(version);

            if (!VersionExists(version))
            {
                throw new FileNotFoundException(format("File does not exist [%s]", fileToOpen.CanonicalPath));
            }

            StoreChannel rawChannel = null;

            try
            {
                rawChannel = OpenLogFileChannel(fileToOpen, OpenMode.READ);
                ByteBuffer buffer = ByteBuffer.allocate(LOG_HEADER_SIZE);
                LogHeader  header = readLogHeader(buffer, rawChannel, true, fileToOpen);
                if ((header == null) || (header.LogVersion != version))
                {
                    throw new System.InvalidOperationException(format("Unexpected log file header. Expected header version: %d, actual header: %s", version, header != null ? header.ToString() : "null header."));
                }
                return(new PhysicalLogVersionedStoreChannel(rawChannel, version, header.LogFormatVersion));
            }
            catch (FileNotFoundException cause)
            {
                throw ( FileNotFoundException )(new FileNotFoundException(format("File could not be opened [%s]", fileToOpen.CanonicalPath))).initCause(cause);
            }
            catch (Exception unexpectedError)
            {
                if (rawChannel != null)
                {
                    // If we managed to open the file before failing, then close the channel
                    try
                    {
                        rawChannel.close();
                    }
                    catch (IOException e)
                    {
                        unexpectedError.addSuppressed(e);
                    }
                }
                throw unexpectedError;
            }
        }
Example #24
0
    public static LogEntry Parse(LogHeader header, string line)
    {
        string[] tokens = line.Split(',');
        LogEntry le     = new LogEntry(float.Parse(tokens [0]));

        le.gameEventOriginatorName = tokens [1];
        le.gameEventOriginatorID   = int.Parse(tokens [2]);
        le.gameEvent = tokens [3];
        le.parameter = bool.Parse(tokens [4]);

        le.TrackedObjects = new GameObjectRecord[tokens.Length - 5];
        for (int i = 0; i < le.TrackedObjects.Length; i++)
        {
            le.TrackedObjects [i] = GameObjectRecord.Parse(header.ObjectsNames[i], tokens [i + 5]);
        }

        return(le);
    }
Example #25
0
        public void CanReadHeader()
        {
            var actual   = aaLgxReader.ReadLogHeader(LOG_FILE_INSTANCE);
            var expected = new LogHeader
            {
                LogFilePath       = LOG_FILE_INSTANCE,
                StartMsgNumber    = 0,
                MsgCount          = 683,
                StartFileTime     = 130783241810947628,
                EndFileTime       = 130783316984931276,
                OffsetFirstRecord = 68,
                OffsetLastRecord  = 191760,
                ComputerName      = "DSA2014R2",
                Session           = null,
                PrevFileName      = null,
                HostFQDN          = ExpectedFqdn,
            };

            AreEqual(expected, actual);
        }
Example #26
0
        /// <summary>
        /// Creates a new channel for the specified version, creating the backing file if it doesn't already exist.
        /// If the file exists then the header is verified to be of correct version. Having an existing file there
        /// could happen after a previous crash in the middle of rotation, where the new file was created,
        /// but the incremented log version changed hadn't made it to persistent storage.
        /// </summary>
        /// <param name="forVersion"> log version for the file/channel to create. </param>
        /// <param name="mode"> mode in which open log file </param>
        /// <param name="lastTransactionIdSupplier"> supplier of last transaction id that was written into previous log file </param>
        /// <returns> <seealso cref="PhysicalLogVersionedStoreChannel"/> for newly created/opened log file. </returns>
        /// <exception cref="IOException"> if there's any I/O related error. </exception>
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: org.neo4j.kernel.impl.transaction.log.PhysicalLogVersionedStoreChannel createLogChannelForVersion(long forVersion, org.neo4j.io.fs.OpenMode mode, System.Func<long> lastTransactionIdSupplier) throws java.io.IOException
        internal virtual PhysicalLogVersionedStoreChannel CreateLogChannelForVersion(long forVersion, OpenMode mode, System.Func <long> lastTransactionIdSupplier)
        {
            File         toOpen       = GetLogFileForVersion(forVersion);
            StoreChannel storeChannel = _fileSystem.open(toOpen, mode);
            ByteBuffer   headerBuffer = ByteBuffer.allocate(LOG_HEADER_SIZE);
            LogHeader    header       = readLogHeader(headerBuffer, storeChannel, false, toOpen);

            if (header == null)
            {
                // Either the header is not there in full or the file was new. Don't care
                long lastTxId = lastTransactionIdSupplier();
                writeLogHeader(headerBuffer, forVersion, lastTxId);
                _logHeaderCache.putHeader(forVersion, lastTxId);
                storeChannel.WriteAll(headerBuffer);
                _monitor.created(toOpen, forVersion, lastTxId);
            }
            sbyte formatVersion = header == null ? CURRENT_LOG_VERSION : header.LogFormatVersion;

            return(new PhysicalLogVersionedStoreChannel(storeChannel, forVersion, formatVersion));
        }
Example #27
0
        private static IEnumerable <object> GetIsmdetDataPoints(LogHeader header, LogDataBase data)
        {
            var ismdet    = data as LogDataIsmdetobs;
            var timestamp = header.Timestamp;

            foreach (var power in ismdet.Powers)
            {
                yield return(new DataPointIsmdetobs()
                {
                    Timestamp = timestamp,
                    Satellite = String.Format("{0}{1}", ismdet.NavigationSystem, ismdet.Prn),
                    NavigationSystem = ismdet.NavigationSystem,
                    GloFreq = ismdet.GloFreq,
                    Prn = ismdet.Prn,
                    SignalType = ismdet.SignalType,
                    Power = power
                });

                timestamp += 20;
            }
        }
Example #28
0
        public PagingModel <LogHeader> GetLogList(QueryCriteria criteria, SqlConnection sqlConn)
        {
            var result = new PagingModel <LogHeader>();

            result.PageIndex = criteria.PageIndex;
            result.PageSize  = criteria.PageSize;

            var sqlCmd = new SqlCommand("[Log].[GetLogList]", sqlConn);

            sqlCmd.CommandType = CommandType.StoredProcedure;

            sqlCmd.Parameters.AddWithValue(@"PageIndex", criteria.PageIndex);
            sqlCmd.Parameters.AddWithValue(@"PageSize", criteria.PageSize);

            var reader = sqlCmd.ExecuteReader();

            if (reader.Read())
            {
                result.TotalCount = Convert.ToInt32(reader["TotalCount"]);
            }
            if (reader.NextResult())
            {
                result.Items = new List <LogHeader>();
                while (reader.Read())
                {
                    var header = new LogHeader();

                    header.Id         = Convert.ToInt32(reader["Id"]);
                    header.Guid       = Guid.Parse(reader["Guid"].ToString());
                    header.Title      = reader["Title"].ToString();
                    header.CreateTime = Convert.ToDateTime(reader["CreateTime"]);

                    result.Items.Add(header);
                }
            }

            return(result);
        }
Example #29
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="logHeader"></param>
        /// <param name="logBody"></param>
        /// <param name="stackfram"></param>
        /// <returns></returns>
        public override LogRecord FormatLogRecord(LogHeader logHeader, LogBody logBody, StackFrame stackfram)
        {
            var lr        = new LogRecord();
            var sb        = new StringBuilder();
            var seperator = TXTLogFactory.GetLogSeperator(logHeader);

            sb.Append(FormatTime(TXTLogFactory.GetLogGenTime(logHeader)));
            sb.Append(seperator);
            sb.Append(logHeader.LogName);
            sb.Append(seperator);
            sb.Append(logHeader.LogInfo);
            sb.Append(seperator);
            sb.Append(logHeader.LogType);
            sb.Append(seperator);
            sb.Append(logHeader.LogVersion);
            //2014-12-09 20:33:36:495|AdminService|WAP.WCF.HELPER|TEXT|1.0||||2014-12-09 20:33:36:495	999920
            sb.Append(seperator);
            if (logHeader.LogTraceEnable)
            {
                var className   = Path.GetFileName(LogManager.GetClassName(stackfram)); //VERSION:1.1.1.0
                var methodName  = LogManager.GetMethodName(stackfram);
                var lineNoumber = LogManager.GetLineNumber(stackfram);
                var colNumber   = LogManager.GetColumnNumber(stackfram);

                sb.Append(className);
                sb.Append(seperator);
                sb.Append(methodName);
                sb.Append(seperator);
                sb.Append(lineNoumber);
                sb.Append(seperator);
                sb.Append(colNumber);
                sb.Append(seperator);
            }
            sb.Append(TXTLogFactory.GetLogBodyString(logBody));
            lr.LogMessage = sb.ToString();
            return(lr);
        }
Example #30
0
        /// <summary>
        ///     Buy all entitlemens of a given type.
        ///     Will Grant resources as needed. Does 3 things
        ///     1. Buys all the resources
        ///     2. Get the log and then "undoes" each of the actions
        ///     3. Gets the log and "redoes" each of the actions
        ///     4. verifies that the Undo/Redo path yeilds the same results as the intial buy path.
        /// </summary>
        /// <param name="helper">The Test Helper that holds the CatanProxy and the GameName</param>
        /// <param name="entitlement">The Entitlement to buy</param>
        /// <param name="tr">The Traderesource that represents the cost of the entitlement</param>
        /// <returns></returns>
        private async Task <PlayerResources> PurchaseAll(TestHelper helper, Entitlement entitlement, TradeResources tr)
        {
            string player = (await helper.CreateGame())[0];

            Assert.NotNull(player);
            Assert.NotEmpty(player);
            PlayerResources startingResources = await helper.Proxy.GetResources(helper.GameName, player);

            List <LogHeader> logCollection = await helper.Proxy.Monitor(helper.GameName, player); // this wipes out any logs up till now -- just a player log

            PlayerResources resources;

            do
            {
                resources = await helper.GrantResourcesAndAssertResult(player, tr);

                Assert.NotNull(resources);
                resources = await helper.Proxy.BuyEntitlement(helper.GameName, player, entitlement);
            } while (resources != null);

            Assert.Equal(CatanError.LimitExceeded, helper.Proxy.LastError.Error);
            PlayerResources resourcesAfterPurchaseLoop = await helper.Proxy.GetResources(helper.GameName, player);

            Assert.NotNull(resourcesAfterPurchaseLoop);


            //
            //  get the log records -- normally this is done in a monitor
            logCollection = await helper.Proxy.Monitor(helper.GameName, player); // this are only the ones we just added

            //
            //  now undo everything
            PlayerResources resourcesAfterUndo = null;

            for (int i = 0; i < logCollection.Count; i++)
            {
                LogHeader logEntry = logCollection[^ (i + 1)] as LogHeader;
Example #31
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="logHeader"></param>
        /// <param name="logBody"></param>
        /// <param name="stackfram"></param>
        /// <returns></returns>
        public override LogRecord FormatLogRecord(LogHeader logHeader, LogBody logBody, StackFrame stackfram)
        {
            var lr = new LogRecord();
            var sb = new StringBuilder();
            var seperator = TXTLogFactory.GetLogSeperator(logHeader);
            sb.Append(FormatTime(TXTLogFactory.GetLogGenTime(logHeader)));
            sb.Append(seperator);
            sb.Append(logHeader.LogName);
            sb.Append(seperator);
            sb.Append(logHeader.LogInfo);
            sb.Append(seperator);
            sb.Append(logHeader.LogType);
            sb.Append(seperator);
            sb.Append(logHeader.LogVersion);
            //2014-12-09 20:33:36:495|AdminService|WAP.WCF.HELPER|TEXT|1.0||||2014-12-09 20:33:36:495	999920
            sb.Append(seperator);
            if (logHeader.LogTraceEnable)
            {
                var className = Path.GetFileName(LogManager.GetClassName(stackfram));   //VERSION:1.1.1.0
                var methodName = LogManager.GetMethodName(stackfram);
                var lineNoumber = LogManager.GetLineNumber(stackfram);
                var colNumber = LogManager.GetColumnNumber(stackfram);

                sb.Append(className);
                sb.Append(seperator);
                sb.Append(methodName);
                sb.Append(seperator);
                sb.Append(lineNoumber);
                sb.Append(seperator);
                sb.Append(colNumber);
                sb.Append(seperator);
            }
            sb.Append(TXTLogFactory.GetLogBodyString(logBody));
            lr.LogMessage = sb.ToString();
            return lr;
        }
Example #32
0
        private const Int32 DefaultLogGrade = 3; //默认日志级别
        //**********VERSION 1.1.2.0 END**********//

        #endregion

        #region Property -- 属性

        #endregion

        #region Method -- 方法
        /// <summary>
        /// 初始化日志服务头信息
        /// </summary>
        /// <returns></returns>
        public LogHeader PrepareLogHeader()
        {
            var logHeader = new LogHeader
            {
                LogInfo = LogConfig.LogInfo,
                LogName = LogConfig.LogName,
                LogSeperator = LogConfig.LogSeperator,
                LogType = LogConfig.LogType,
                LogVersion = LogConfig.LogVersion,
                LogGenTime = DateTime.Now,
                LogTraceEnable = LogConfig.LogTraceEnable
            };
            return logHeader;
        }
Example #33
0
 /// <summary>
 /// 获取日志分隔符
 /// </summary>
 /// <returns></returns>
 public static string GetLogSeperator(LogHeader logHeader)
 {
     return logHeader.LogSeperator;
 }
Example #34
0
 /// <summary>
 /// 获取日志产生日期
 /// </summary>
 /// <param name="logHeader"></param>
 /// <returns></returns>
 public static DateTime GetLogGenTime(LogHeader logHeader)
 {
     return logHeader.LogGenTime;
 }