//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--; } }
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()); } } } } }
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); }
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); }
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); }
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()); } } } } }
public void CanSerialiseLogHeader() { var sut = new LogHeader("Abc"); var json = Newtonsoft.Json.JsonConvert.SerializeObject(sut); Assert.Contains("Abc", json); }
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); }
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()); } }
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; }
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); }); }
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); }
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); }
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(); }
//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))); }
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); }
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"); }
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); }
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" } }); }); }
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; }
//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; } }
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); }
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); }
/// <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)); }
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; } }
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); }
/// <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); }
/// <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;
/// <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; }
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; }
/// <summary> /// 获取日志分隔符 /// </summary> /// <returns></returns> public static string GetLogSeperator(LogHeader logHeader) { return logHeader.LogSeperator; }
/// <summary> /// 获取日志产生日期 /// </summary> /// <param name="logHeader"></param> /// <returns></returns> public static DateTime GetLogGenTime(LogHeader logHeader) { return logHeader.LogGenTime; }