/// <summary> /// Adds instance of <see cref="CoreSyncLogEntry"/> to <see cref="CoreSyncProcessor"/>. /// </summary> /// <param name="data"> /// Contains <see cref="string"/> value with log data. /// </param> /// <param name="logLevel"> /// Contains value of <see cref="CoreSyncLogLevel"/>. /// </param> /// <param name="writeLogEntry"> /// Contains whether log entry should be written. /// </param> public static void Log(string data, CoreSyncLogLevel logLevel = CoreSyncLogLevel.Info, bool writeLogEntry = true) { if (!string.IsNullOrEmpty(data)) { var logEntry = new CoreSyncLogEntry() { LogLevel = logLevel, Date = DateTime.Now, Data = data }; if (writeLogEntry) { var logFileName = GetFullName(Path.Combine(LogDirectoryName, string.Format("{0}.log", DateTime.Now.ToString("yyyyMMdd")))); Directory.CreateDirectory(new FileInfo(logFileName).DirectoryName); using var logWriter = File.Exists(logFileName) ? File.AppendText(logFileName) : File.CreateText(logFileName); logWriter.WriteLine(logEntry.ToString()); } LogNotification(logEntry); } }
/// <summary> /// Adds instance of <see cref="CoreSyncLogEntry"/> to <see cref="CoreSyncProcessor"/>. /// </summary> /// <param name="e"> /// Contains instance of <see cref="Exception"/>. /// </param> /// <param name="logLevel"> /// Contains value of <see cref="CoreSyncLogLevel"/>. /// </param> /// <param name="writeLogEntry"> /// Contains whether log entry should be written. /// </param> public static void Log(Exception e, CoreSyncLogLevel logLevel = CoreSyncLogLevel.Error, bool writeLogEntry = true) => Log(e.ToString(), logLevel, writeLogEntry);