/* * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ using System; using System.Globalization; namespace QuantConnect.Logging { /// /// Log entry wrapper to make logging simpler: /// public class LogEntry { /// /// Time of the log entry /// public DateTime Time { get; set; } /// /// Message of the log entry /// public string Message { get; set; } /// /// Descriptor of the message type. /// public LogType MessageType { get; set; } /// /// Create a default log message with the current time. /// /// public LogEntry(string message) { Time = DateTime.UtcNow; Message = message; MessageType = LogType.Trace; } /// /// Create a log entry at a specific time in the analysis (for a backtest). /// /// Message for log /// Utc time of the message /// Type of the log entry public LogEntry(string message, DateTime time, LogType type = LogType.Trace) { Time = time; Message = message; MessageType = type; } /// /// Helper override on the log entry. /// /// public override string ToString() { return $"{Time.ToString("o", CultureInfo.InvariantCulture)} {MessageType} {Message}"; } } }